下列哪个整数是否具有以下性质:将该整数每位的数平方后相加,得到一个新的数,如此循环下去,最后能得到1。
public class HelloWorld {
public static void main(String arsg[]){
more(19);
System.out.println("yes");
}
public static int more(int intNum){
int sum = 0;
//数组长度动态变化
int length = getLength(intNum);
int arr[] = new int[length];
for(int i = 0; intNum != 0; i++){
//拿到每一位
arr[i] = intNum % 10;
intNum = intNum /10;
}
for(int i =0; i < length; i++){
sum += arr[i]*arr[i];
}
while(sum !=1 && sum % 10 != 0){
sum = more(sum);
}
return intNum;
}
public static int getLength(int intNum){
int count = 0;
while(intNum !=0){
intNum = intNum /10;
count ++;
}
return count;
}
}