题目描述
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
输出
输出答案即可
模拟试值即可
#include <iostream>
using namespace std;
int n = 3;
int main(){
int sum = 0;
int res = n;
for (int i = 0; i < 20; i ++ ){
while(res){
sum +=(res % 10) * (res % 10);
res /= 10;
}
res = sum;
cout << sum << endl;
sum = 0;
}
return 0;
}