蓝桥杯JavaC组:平方怪圈

 平方怪圈
 
 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
 对新产生的正整数再做同样的处理。
 
 如此一来,你会发现,不管开始取的是什么数字,
 最终如果不是落入1,就是落入同一个循环圈。
 
 请写出这个循环圈中最大的那个数字。
 
 请填写该最大数字。
 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
public class Main03 {

    public static void main(String[] args) {
        int n = (int) (Math.random() * 100);
        int sum = 0;
        int temp = 0;
        int max = 0;
        while (true) {
            sum = 0;
            while (n > 0) {
                temp = n % 10;
                sum += temp * temp;
                n /= 10;
            }
            n = sum;
            if (sum == max) {
                break;
            } else {
                max = (max > sum) ? max : sum;
            }
        }
        System.out.println(max);

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42236404/article/details/83041132
今日推荐