• 技术文章 >Java >java教程

    Java实现10-100000之间的水仙花数算法的示例

    黄舟黄舟2017-10-18 10:16:05原创1006
    这篇文章主要介绍了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实现10-100000之间的水仙花数算法的示例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:10-100000 Java 水仙花
    上一篇:Java实现开发基础日期类的示例详解 下一篇:Java如何利用IOC控制反转的三种设计模式详解
    Web大前端开发直播班

    相关文章推荐

    • Java实例详解之Lambda表达式• 带你搞懂Java的接口(实例详解)• Java技巧总结之如何看Lambda源码• 实例详解JAVA抽象工厂模式• 一起聊聊Java多线程之线程安全问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网