[蓝桥杯2016初赛]平方怪圈

题目描述
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入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;
}

猜你喜欢

转载自blog.csdn.net/qq_45914558/article/details/108558268
今日推荐