//第七届蓝桥杯软件类省赛真题-C-A-2_平方怪圈/*平方怪圈如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。 如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。 请写出这个循环圈中最大的那个数字。 请填写该最大数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。*//*【解题思路】解法:模拟运算输出,然后找出最大的值 答案:145*/#include<iostream>using namespace std;int Operation(int num){ int sum = 0; do{ sum += (num%10)*(num%10); num /= 10; }while(num); return sum;}int main(){ int n; cin>>n; while(1){ cout<<n<<endl; n = operation(n); } return 0;}
新闻热点
疑难解答