zoukankan      html  css  js  c++  java
  • 【编程题】数字黑洞

      附上Java实现代码。

     1 package NetEasy;
     2 
     3 /**
     4  * 数字黑洞
     5  */
     6 
     7 import java.util.Scanner;
     8 
     9 public class NumBlackHole {
    10 
    11     public static void main(String[] args) {
    12         Scanner in = new Scanner(System.in);
    13         String number = in.next();
    14 //        StringBuffer numStr = new StringBuffer();
    15 //        numStr.append(number);
    16         if(number.charAt(0)==number.charAt(1) &&
    17                 number.charAt(0)==number.charAt(2)&&
    18                 number.charAt(0)==number.charAt(3))
    19             System.out.println(number+" - "+number+" = 0");
    20         else{
    21             boolean flag = true;
    22 //            int num = Integer.valueOf(number);
    23             while(flag){
    24                 number = computeNum(number);
    25                 if(number.equals("6174"))
    26                     flag = false;
    27             }
    28         }
    29 
    30     }
    31 
    32     private static String computeNum(String number) {
    33 //        String number = Integer.valueOf(num).toString();
    34         StringBuffer numOrder = new StringBuffer(number);
    35         for(int i = 0; i < 4; i++){
    36             for(int j = i; j < 4; j++){
    37                 if(numOrder.charAt(i) < numOrder.charAt(j)){
    38                     char temp = numOrder.charAt(i);
    39                     numOrder.setCharAt(i, number.charAt(j));
    40                     numOrder.setCharAt(j, temp);
    41                 }
    42             }
    43         }
    44 //        StringBuffer numUpper = numOrder;  //这样复制,后面numOrder反转了 numUpper会跟着变化
    45         String numUpper = numOrder.toString();
    46         String numLower = numOrder.reverse().toString();
    47         int n = Integer.valueOf(numUpper)-Integer.valueOf(numLower);
    48         StringBuffer result = new StringBuffer(Integer.valueOf(n).toString());
    49         if(result.length() == 1)
    50             result.insert(0, "000");
    51         if(result.length() == 2)
    52             result.insert(0, "00");
    53         if(result.length() == 3)
    54             result.insert(0, "0");
    55         String resultnum = result.toString();
    56         System.out.println(numUpper+" - "+numLower+" = "+ resultnum);
    57         return resultnum;
    58     }
    59 
    60 }
  • 相关阅读:
    centos npm run build 报错
    python base64
    Emacs 常用命令
    linux 删除文件腾出空间 遇到的问题
    网速查看工具
    linux 查看当前文件夹下的文件大小
    Docker 私有仓库push
    Harbor:Http: server gave HTTP response to HTTPS client & Get https://192.168.2.119/v2/
    docker 私有仓库搭建
    linux 修改时间
  • 原文地址:https://www.cnblogs.com/focusonepoint/p/5743123.html
Copyright © 2011-2022 走看看