解题思路:判断边界,上边界是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 人评分
简单的a+b (C语言代码)浏览:676 |
WU-C语言程序设计教程(第三版)课后习题11.11 (C++代码)(想学链表的可以看看)浏览:1357 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:679 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:567 |
买不到的数目 (C语言代码)浏览:3094 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1200 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:497 |
计算质因子 (Java代码)浏览:749 |
自编的贪吃蛇小游戏,代码装上easyx图形库就能运行。浏览:942 |
printf基础练习2 (C语言代码)浏览:499 |