Java中怎么实现一个求10到100000间的水仙花数算法

发布时间:2021-07-22 16:48:07 作者:Leah
来源:亿速云 阅读:130

本篇文章为大家展示了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间的水仙花数算法

上述内容就是Java中怎么实现一个求10到100000间的水仙花数算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Java求1000以内的水仙花数的代码
  2. 使用python求水仙花数的代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Python中怎么抓取分享页面

下一篇:Android中怎么使用Intent传输包含自定义类的ArrayList

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》