如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
思路:不用太在意圈,路子野一点~
public static void main(String[] args) {
int temp = 3; // 初始值
int sum = 0;
for (int i = 0; i < 200; i++) {
sum = 0;
while (temp > 0) {
sum += (temp % 10) * (temp % 10); //取每一位的数和
temp /= 10; //取每一位
}
temp = sum; // 把上一次的平方求和赋值给下一次
}
System.out.println(sum);
}