如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
import java.util.Scanner;
public class Main {
public static void main(String []args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int max=Integer.MIN_VALUE;
for(int i=0;i<100;i++){ //循环100次
int temp=0;
int j=0; //数的每一位
while(n!=0){
j=n%10;
temp+=j*j;
n=n/10;
}
n=temp; //得到每一位平方的和的新数
if(temp>max){
max=temp;
}
}
System.out.println(max);
}
}