题目描述
对一个数十进制表示时的每一位数字乘五次方再求和,会得到一个数的五次方数
例如:1024的五次方数为1+0+32+1024=1057
有这样一些神奇的数,它的五次方数就是它自己,而且这样的数竟然只有有限多个
从小到大输出所有这样的数
输入
无
输出
每个数独立一行输出
样例输入
无
样例输出
无
解题思路:
这道题没有告诉我们限度在哪里,所以我们可以找个大的数让它跑,再去定义边界.
但是出了个不是问题的问题,看图:
这是我把边界放到300000跑出来的,看着没啥问题是吧,但是判题机显示答案错误。
然后我把边界定到4150~200000,然后就好啦。
所以呢,
注: 不能把0和1放进去。
代码如下:
/**
* 五次方数
* @author hf
*
*/
public class Cyyw1490 {
public static void main(String[] args) {
for (int i = 4150; i < 200000; i++) {
int sum = 0;
int x = i;
while (x != 0) {
int temp = x%10;
sum += Math.pow(temp, 5);
x /= 10;
}
if (sum == i) {
System.out.println(i);
}
}
}
}
运行示例:
运行示例截图在上面解题思路里放了,这里就不占内存了哈。