21xrx.com
2024-04-24 00:50:13 Wednesday
登录
文章检索 我的文章 写文章
Java中的阿姆斯特朗数
2021-07-08 17:35:52 深夜i     --     --
J a v a

Java程序来检查一个数字是否是阿姆斯特朗,它是一个数字,它等于数字总和的数字总位数的幂。 其中一些是:0、1、4、5、9、153、371、407、8208。

 

Java 中的阿姆斯壮数程序

import java.util.Scanner;
 
class ArmstrongNumber
{
  public static void main(String args[])
  {
    int n, sum = 0, t, remainder, digits = 0;
 
    Scanner in = new Scanner(System.in);
    System.out.println("Input a number to check if it's an Armstrong number");    
    n = in.nextInt();
 
    t = n;


    // Count number of digits

    while (t != 0) {
      digits++;
      t = t/10;
    }
 
    t = n;
 
    while (t != 0) {
      remainder = t%10;
      sum = sum + power(remainder, digits);
      t = t/10;
    }
 
    if (n == sum)
      System.out.println(n + " is an Armstrong number.");
    else
      System.out.println(n + " isn't an Armstrong number.");
  }

  static int power(int n, int r) {
    int c, p = 1;
 
    for (c = 1; c <= r; c++)
      p = p*n;
 
    return p;
  }
}

 

程序输出:

下载阿姆斯壮数程序类文件。

在上述程序中再使用一个循环,您可以生成从 1 到 n 或两个整数之间的阿姆斯特朗数,即从 a 到 b,其中 a 和 b 是整数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复