私信TA

用户名:wzhh

访问量:1837

签 名:

等  级
排  名 7490
经  验 1309
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校 广东技术师范大学
专  业

  自我简介:

解题思路:判断边界,上边界是999999,999999的五次方数是354294,比原数小;下边界是参考了大神的解题方法发现这题中 0和1 不在正解范围内,所以从10开始进行循环即可

注意事项: 解法比较暴力,是钻了字符串和整型数据转换的空子,所以内存会特别特别大,第一次是在10~999999的范围,然后超限了!!!,之后就改成了自己先前跑出来的正确答案的范围,即4150~194979,然后内存就小了许多,但还是超级大!!!


参考代码:

public class Main {
   public static void main(String[] args) {
       for (int i = 4150; i <= 194979; i++) {
           int sum = 0;
           String [] str = String.valueOf(i).split("");
           for (int j = 0; j < str.length; j++) {
               sum += Math.pow(Integer.valueOf(str[j]), 5);  //表示计算Integer.valueOf(str[j])的5次方
           }
           if (sum == i){
               System.out.println(i);
           }
       }
   }
}

 

0.0分

1 人评分

  评论区

  • «
  • »