• java实现第七届蓝桥杯平方圈怪


    平方圈怪

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

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

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

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

    结果:145

    public class Main {
    	public static void main(String[] args) {
    		System.out.println(f(1234));
    		System.out.println(f(12345));
    		System.out.println(f(123));
    		System.out.println(f(23456));
    		// 计算结果都为145
    	}
     
    	public static int f(int num) {
    		int max = 0;// 通过num计算出的最大值
    		while (true) {
    			int temp = 0;// 保存num本次计算的值
    			while (num != 0) {
    				temp += (num % 10) * (num % 10);
    				num = num / 10;
    			}
    			num = temp;
    			if(max == temp ){
    				break;
    			}else{
    				max = (max > temp) ? max : temp;
    			}
    		}
    		return max;
    	}
    }
    
  • 相关阅读:
    2015 多校联赛 ——HDU5319(模拟)
    FZU 2158
    FZU 2157 树形DP
    dp之背包总结篇
    JavaScript parseInt() 函数
    JavaScript全局属性/函数
    学生面试心得
    ssh整合
    spring08事务
    JavaScript数组方法大全
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12947680.html
Copyright © 2020-2023  润新知