5位循环黑洞数,4位黑洞数在注解中

来源:互联网 发布:阿兹特克文明 知乎 编辑:程序博客网 时间:2024/06/09 18:41
package Caishuzi;


import java.util.Arrays;


public class BlackHole {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub


// int a=6039;
// int b=6039/1000;
// System.out.println(b);
// int c=6039%1000;
// int d=c/100;
// System.out.println(d);
// int e=6039%100;
// int f=e/10;
// System.out.println(f);
// int g=6039%10;
//
// System.out.println(g);


/*
* int input = 6174; int[] a = new int[4];

* // a[0]=input/10000; // a[1]=(input%10000)/1000; //
* a[2]=(input%1000)/100; // a[3]=(input%100)/10; // a[4]=(input%10);

* a[0] = input / 1000; a[1] = (input % 1000) / 100; a[2] = ((input %
* 1000) % 100) / 10; a[3] = ((input % 1000) % 100) % 10; //

* System.out.println(a[0] + " " + a[1] + " " + a[2] + " " + a[3]+" ");

* int x = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
* System.out.println(x); Arrays.sort(a);



* int y = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
* System.out.println(y);

* System.out.println(x - y);
*/


for (int input = 10001; input < 100000; input++) {


if (input % 11111 == 0) {
continue;
}


else {
int flag = 0;
int input2 = input;
do {
input2 = he(fen(input2));
flag++;
} while (input2 != 20101);


if (input2 == 20101) {
System.out.println("计算了" + flag + "次");
} else {
System.out.println("没算出来");
}
}


}


// int[] x = fen(3949);
// System.out.println(x[0] + " " + x[1] + " " + x[2] + " " + x[3]);
// int result = he(x);
//
// int result1 = he((fen(3940)));
// System.out.println(result1);
// System.out.println(result);
System.out.println("程序结束");
}


private static int he(int[] x) {
// TODO Auto-generated method stub
System.out.println(x[0] + " " + x[1] + " " + x[2] + " " + x[3] + " "
+ x[4]);
int max = x[4] * 10000 + x[3] * 1000 + x[2] * 100 + x[1] * 10 + x[0];
int min = x[0] * 10000 + x[1] * 1000 + x[2] * 100 + x[3] * 10 + x[4];
System.out.println(max + "-" + min + "=" + (max - min));
return max - min;
}


private static int[] fen(int input) {
// TODO Auto-generated method stub
int[] a = new int[5];
a[0] = input / 10000;
a[1] = (input % 10000) / 1000;
a[2] = (input % 1000) / 100;
a[3] = (input % 100) / 10;
a[4] = (input % 10);
Arrays.sort(a);


return a;
}

}



--------------循环情况

0 0 0 1 1
11000-11=10989
0 1 8 9 9
99810-1899=97911
1 1 7 9 9
99711-11799=87912
1 2 7 8 9
98721-12789=85932
2 3 5 8 9
98532-23589=74943
3 4 4 7 9
97443-34479=62964
2 4 6 6 9
96642-24669=71973
1 3 7 7 9
97731-13779=83952
2 3 5 8 9
98532-23589=74943
3 4 4 7 9
97443-34479=62964
2 4 6 6 9
96642-24669=71973
1 3 7 7 9
97731-13779=83952
2 3 5 8 9
98532-23589=74943
3 4 4 7 9
97443-34479=62964
2 4 6 6 9
96642-24669=71973
1 3 7 7 9
97731-13779=83952
2 3 5 8 9
98532-23589=74943

原创粉丝点击