• 06普通推导


    【题目】 
    如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。 
    对新产生的正整数再做同样的处理。 
    如此一来,你会发现,不管开始取的是什么数字, 
    最终如果不是落入1,就是落入同一个循环圈。 
    请写出这个循环圈中最大的那个数字。

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

    【分析】 
    手动推算可以发现1不会落入循环圈,2会落入循环。 
    那么就以2为开始点,想办法找出循环圈中的所有数字。 
    计算法则是:把正整数的每一位平方后再求和,得到的新整数继续这样操作。 
    那么只要发现一旦出现第一个开始重复的数字,说明之前从这个数字开始到这个数字结束的所有数字就是平方怪圈的所有数字,有了这些数字,就可以求出它们的最大值。

    import java.util.*;
    public class Lanq {
        //1534
        public static void main(String[] args) {
            solve();
        }
    
        public static void solve() {
            Scanner sc=new Scanner(System.in);
           // int n=sc.nextInt();
            int cnt=1;
    
               List aa=new ArrayList();
               int n=2;
               aa.add(n);
               int ans=0;
               while(n>0&&cnt<=100){
                   cnt++;
                   if(n<10){
                       n=(n*n);
                       aa.add(n);
                       ans= Math.max(ans, n);
                   }
                   else if(n>=10&&n<=99)
                   {
                       int a1=n/10;
                       int a2=n%10;
                       n=a1*a1+a2*a2;
                       aa.add(n);
                       ans= Math.max(ans, n);
                   }
                   else if(n>=100&&n<=999)
                   {
                       int a1=n%10;
                       int a2=n/10%10;
                       int a3=n/100;
                       n=a1*a1+a2*a2+a3*a3;
                       aa.add(n);
                       ans= Math.max(ans, n);
                   }
    
               }
               System.out.println(ans);
    
    
        }
    }
    

      

  • 相关阅读:
    AtCoder Grand Contest 019
    upd 2020.10.31
    ubuntu 自动配置脚本
    linux下gcc、g++不同版本的安装和切换
    fixes for 100% disk usage on Windows 10
    简单聊聊VisualStudio的断点调试
    运算符重载
    设计模式之桥接模式
    使用C#进行数据库增删改查ADO.NET(三)
    使用C#进行数据库增删改查ADO.NET(二)
  • 原文地址:https://www.cnblogs.com/passion-sky/p/8541773.html
Copyright © 2020-2023  润新知