原题:
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:145
c语言 代码如下:
#include<stdio.h>
int main()
{
int n = 12,i;
int sum = 0;
for (i=0;i<1000;i++) //假设运算1000次
{
while (n!=0)
{
sum += (n%10)*(n%10);
n /= 10;
}
printf("%d\t",sum);
n = sum;
sum = 0;
}
return 0;
}
从运行结果中可看出最大值是 145