检查两个整数之间阿姆斯特朗数的 Java 程序
原文:https://www . geesforgeks . org/Java-要检查的程序-阿姆斯特朗-两个整数之间的数字/
如果满足以下条件,则具有数字 p、q、r、s…的正整数称为 n 阶阿姆斯特朗数。
pqrs... = pn + qn + rn + sn +....
例:
370 = 3*3*3 + 7*7*7 + 0
= 27 + 343 + 0
= 370
因此,370 是一个阿姆斯特朗号。
示例:
Input : 100 200
Output :153
Explanation : 100 and 200 are given
two integers.
153 = 1*1*1 + 5*5*5 + 3*3*3
= 1 + 125 + 27
= 153
Therefore, only 153 is an Armstrong number between 100 and 200.
进场:
首先,我们将遍历给定范围内的所有数字。然后,对于每一个数字,我们必须计算其中的位数。如果当前数字中的位数是 n,那么求所述数字中所有数字的(n 次方)的和。如果总和等于当前数字 i ,则打印该数字。
示例:
Java
// JAVA program to find Armstrong
// numbers between two integers
import java.io.*;
import java.math.*;
class gfg {
// Function to print Armstrong
// Numbers between two integers
static void ArmstrongNum(int l, int h)
{
for (int j = l + 1; j < h; ++j) {
// Calculating number of digits
int y = j;
int N = 0;
while (y != 0) {
y /= 10;
++N;
}
// Calculating the sum of nth
// power of all the digits
int sum_power = 0;
y = j;
while (y != 0) {
int d = y % 10;
sum_power += Math.pow(d, N);
y /= 10;
}
// Checking if the current number
// i is equal to the sum of nth
// power of all the digits
if (sum_power == j)
System.out.print(j + " ");
}
}
// The Driver code
public static void main(String args[])
{
int n1 = 50;
int n2 = 500;
ArmstrongNum(n1, n2);
System.out.println();
}
}
输出
153 370 371 407
同样,我们可以在任何给定的范围内找到阿姆斯特朗数。
版权属于:月萌API www.moonapi.com,转载请注明出处