平方怪圈
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果 不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
思路
就随便给一个数,然后就是处理很多遍,找出最大的值,其实还可以加一个数组在排序最大的,主要我太懒了
代码
package day3;
import java.util.Scanner;
import java.util.Vector;
public class 平方怪圈 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int b = sc.nextInt();
int c = 0;
while(c<1000){
System.out.println(b);
b = a(b);
c++;
}
}
static int a(int b){
String str =b+"";
int an =0;
for (int i = 0; i < str.length(); i++) {
//按照长度进行迭代,每一次取出其中的一个字符
an+=(str.charAt(i)-'0')*(str.charAt(i)-'0');
}
return an;
}
}