六合数是指一个 6 位数 ,它的每个位上的数字的 6 次幂之和等于它本身。
(例如:5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6=548834)

前期准备工作(包括相关工具或所使用的原料等)一台再正常不过的已经配置了java环境的电脑 详细的操作方法或具体步骤
先得知道,什么叫做六合数。六合数是指一个 6 位数 ,它的每个位上的数字的 6 次幂之和等于它本身。
(例如:5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6=548834)
那么,只要取得每一位的6次幂,然后求和,如果和原来的数相等,那么ta就是一个六合数。

创建好工程之后,或者沿用已有工程,创建包,新建一个类,我命名为SixUnion,大家随意。

先写一个函数计算一个数字的六次方为多少。我命名为sixs()
private static int sixs(int n) {
return n * n * n * n * n * n;
}

判断这个数是不是六合数,求每一位数上的数的五次方和是否为原数字本身。
这里,我们通过取得各个位数上的值,进行六次方和运算,然后拿求得的值与原数字判断,若相等,则为六合数。
String str=String.valueOf(number);
char[] queue=str.toCharArray();
int sum=0;
for (int index=0; index < queue.length; index++) {
sum=sum + sixs(Integer.valueOf(""+queue[index]));
}

写一个main函数计算一下,如图。
用for循环把所有六位数拿来做判断。
for (int index=100000; index < 1000000; index++) {
if (isSixUnion(index))
System.out.print(index + "\t");
}

求得,世上只有一个六合数,即为548834

注意事项努力快乐的学习编写代码要有规范经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
