日期:2014-05-20 浏览次数:20697 次
public static void main(String[] args) {
int res = 1234;
int[] arrTemp = new int[2];
int n = 0;
for (;; n++) { // 循环迭代
res = doMinus(res);
arrTemp[n & 1] = res; // 交替赋值
if (arrTemp[0] == arrTemp[1]) {
break; // 出现重复,则退出
}
System.out.println("The " + (n + 1) + "th result is: " + res);
}
System.out.println("Loop finish after [" + n + "] times");
}
public static int doMinus(int input) {
int[] arr = int2arr(input);
Arrays.sort(arr);
int max = arr2Int(arr, false); // 倒序-从大到小
int min = arr2Int(arr, true); // 正序-从小到大
return max - min;
}
public static int[] int2arr(int num) {
// 使用String转换,是为了数位可扩展
char[] chrs = Integer.toString(num).toCharArray();
int[] arr = new int[chrs.length];
for (int i = 0; i < chrs.length; i++) {