Java 欧拉工程 第三十篇【 找出所有能够写成各位数字5次方之和的数之和】
2014-09-03 09:21
537 查看
令人惊奇的,只有三个数能够写成它们各位数的四次方之和:
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44
1 = 14没有被算作在内因为它不是一个和。
这些数字的和是 1634 + 8208 + 9474 = 19316.
找出所有能被写成各位数字五次方之和的数之和。
原题:最初的思想就是遍历所有数,每个数各位去五次方比较,但是这样需要定一个上限值,可以发现,当10^n>9^5*n(n表示该数的位数)时就无法找到我们要求的数,所以n不能大于6,即这个数不能大于1000000,这样就好求解了,代码如下:
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44
1 = 14没有被算作在内因为它不是一个和。
这些数字的和是 1634 + 8208 + 9474 = 19316.
找出所有能被写成各位数字五次方之和的数之和。
原题:最初的思想就是遍历所有数,每个数各位去五次方比较,但是这样需要定一个上限值,可以发现,当10^n>9^5*n(n表示该数的位数)时就无法找到我们要求的数,所以n不能大于6,即这个数不能大于1000000,这样就好求解了,代码如下:
public class Launcher { public static void main(String[] args) { int n=0; int sum=0; int sumAll=0; for(int i=10;i<1000000;i++){ n=i; while(n!=0){ sum+=Math.pow(n%10, 5); n=n/10; } if(sum==i){ sumAll+=sum; } sum=0; } System.out.println(sumAll); } }
相关文章推荐
- 欧拉工程第30题 找出所有能够写成各位数字5次方之和的数之和
- 找出所有能够写成各位数字5次方之和的数之和。
- Java进阶之欧拉工程 第十七篇【用英文写出1到1000的所有数字需要多少个字母?】
- Java 欧拉工程 第二十七篇【找出为连续数字产生最多质数的二次公式】
- Java进阶之欧拉工程 第十六篇【2的1000次方各位之和为多少】
- Java 欧拉工程 第二十六篇【 小于1000的数字中令1/d拥有最长循环圈的数字d】
- 找出四位数的所有吸血鬼数字(JAVA)
- Java开发练习1,打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
- 欧拉工程第一题 找出1000以下的自然数中,属于3和5的倍数的数字之和。
- java 找出小于数字N的所有素数
- 欧拉工程第26题 找出小于1000的数字中令1/d拥有最长循环圈的数字d
- Java 欧拉工程 第二十篇【 算出100!的各位之和。】
- 欧拉工程第14题 找出以100万以下的数字开始的最长序列
- java读取只含字母和数字的文本文档并找出所有字母及各字母的个数
- JAVA 编程思想 找出所有四位数的吸血鬼数字
- Java 找出四位数的所有吸血鬼数字 基础代码实例
- Java 欧拉工程 第二十一篇【计算10000以下所有相亲数之和】
- 欧拉工程第8题 找出这个1000位数字中连续13个数字乘积的最大值
- 欧拉工程第13题 找出100个50位数之和的前十位数字
- 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。(java)