题目描述
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
解决方法
public class C_3 {
public static void main(String[] args) {
double s = 0;
double max = 0;
int t = 22;
for (int i = 0; i < 1000000; i++) {
s = 0;
while(t>0) {
s = s + Math.pow(t%10, 2);
t = t/10;
}
if(s>max) max = s;
t = (int) s;
}
System.out.println(max);
}
}