2016第七届蓝桥杯 03 平方怪圈(java)

时间:2022-09-09 23:39:14

平方怪圈


如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。


如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。


请写出这个循环圈中最大的那个数字。


请填写该最大数字。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。


结果:

145


代码如下:

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int temp = 3;	//初始值
		int sum = 0;	
		for (int i = 0; i < 200; i++){
			sum = 0;
			while (temp > 0){
				sum += (temp % 10) * (temp % 10);
				temp /= 10;
			}
			temp=sum;	//把上一次的平方求和赋值给下一次
		}
		System.out.println(sum);
	}

}