Java编程:数学黑洞6174

数学黑洞6174的代码实现

 1   public static void main(String[] args) {
 2         System.out.println("经过"+yanZheng(-8888)+"次");
 3     }
 4     public static int yanZheng(int num){
 5         int count = 0;
 6         int[] a = new int[4];
 7         int max = 0;
 8         int min = 0;
 9         //验证位数
10         if(num/1000 == 0 || num/1000>9) {
11             System.out.println("错误:输入了一个"+(num+"").length()+"位数");
12             System.out.println("请输入一个4位数");
13             return 0;
14         }
15         //验证位数数字是否全部相等
16         for(int i=0;i<4;i++) {
17             if(num%10 == num/10%10 && num%10 == num/100%10 && num%10 == num/1000) {
18                 System.out.println("各位数相等,不符合条件");
19                 return 0;
20             }            
21         }
22         do {            
23             for(int i=0;i<a.length;i++) {
24                 a[i] = num%10;
25                 num = num/10;
26             }            
27             Arrays.sort(a);
28             max = a[0]+a[1]*10+a[2]*100+a[3]*1000;
29             min = a[0]*1000+a[1]*100+a[2]*10+a[3];
30             count++;
31             System.out.println(max+"-"+min+"="+(max-min));
32             num = max-min;
33         }while(num!=6174);
34         return count;
35     }
原文地址:https://www.cnblogs.com/wangqun1234/p/7943167.html