/*如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
*/
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
*/
#include<stdio.h>
int main()
{
int n, m;
scanf("%d", &n);
while (n != 1) //确定一个终止条件
{
int a, b, c, d, i = 0; //设置变量
a = n / 1000;
b = n % 10; //这个就是写出它的位数
c = n / 10 % 10;
d = n / 100 % 10;
n = a*a + b*b + c*c + d*d; //这个是写出它的新数
printf("%d\n",n);
}
return 0;
}