Java求求10到到100000之间的水仙花数算法示例之间的水仙花数算法示例
主要介绍了Java求10到100000之间的水仙花数算法,结合实例形式分析了水仙花数的概念及相应的java算法实现
技巧,需要的朋友可以参考下
本文实例讲述了Java求10到100000之间的水仙花数算法。分享给大家供大家参考,具体如下:
水仙花数:水仙花数:
概念:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
算法思路分析:这个算法我们分两个步骤来进行;第一:我们做一个求一个数的位数的函数;第二:我们通过调用此函数来进
行10到100000之间素数的计算!
下面给出具体的代码(仅供参考):下面给出具体的代码(仅供参考):
package javastudy;
public class Testit1 {
public static void main(String[] args) {
for (int number = 100; number <= 100000; number++) { //求10到10000之间所有的素数,一个大的循环
int temp = number; //这步代码是为了让Getlength(number)不变
int sum = 0;
for (int i = 0; i < Getlength(number); i++) {
sum += Math.pow(temp % 10, Getlength(number)); //次方和相加
temp = temp / 10;
}
if (sum == number) { //判断是否相等
System.out.print(number+" ");
}
}
}
static int Getlength(int number) { //这个函数是为了求一个数字的位数
int i = 0;
while (number / 10 > 0) {
i++;
number /= 10;
}
return i + 1;
}
}
运行结果:运行结果:
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总
结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
评论0
最新资源