本篇文章为大家展示了Java中怎么实现一个求10到100000间的水仙花数算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
成都创新互联公司专注于企业成都全网营销推广、网站重做改版、武夷山网站定制设计、自适应品牌网站建设、HTML5建站、商城建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为武夷山等各大城市提供网站开发制作服务。水仙花数:
概念:水仙花数是指一个 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中怎么实现一个求10到100000间的水仙花数算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。