如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
public class Main {
static int sum;
public static void main(String[] args) {
int time = 0, max = 0;
loop: for (int i = 1; i < 100; i++) {
getSum(i);
if (time == 1000) {
System.out.println(max);
break;
} else {
while (time < 1000) {
if (sum == 1) {
time = 0;
continue loop;
}
getSum(sum);
if (max < sum) {
max = sum;
}
time++;
}
}
}
}
public static void getSum(int n) {
String str = String.valueOf(n);
char[] charArrays = str.toCharArray();
sum = 0;
for (int i = 0; i < charArrays.length; i++) {
sum += Math.pow((int) charArrays[i] - 48, 2);
}
}
}