题目描述
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
输出
输出答案即可
代码如下:
#include <iostream>
using namespace std;int op(int x) {int sum = 0;while (x) {int c = x % 10;sum += c * c;x = x / 10;}return sum;
}int main() {int c = 0;int a = 124;//随便一个整数while (1) {c = op(a);cout << c << endl;a = op(a);//根据输出的数据,观察出答案}
}