正の整数は、次の場合にアームストロング数(n次)と呼ばれます。
abcd... = an + bn + cn + dn + ...
3桁のアームストロング数の場合、各桁の立方体の合計はその数自体に等しくなります。 例えば、 153 はアームストロング数です。
153 = 1*1*1 + 5*5*5 + 3*3*3
同様に、 1634年 はアームストロング数です。理由は次のとおりです。
1634 = 1*1*1*1 + 6*6*6*6* + 3*3*3*3 + 4*4*4*4
例1:アームストロングの3桁の数を確認する
// program to check an Armstrong number of three digits
let sum = 0;
const number = prompt('Enter a three-digit positive integer: ');
// create a temporary variable
let temp = number;
while (temp > 0) {
// finding the one's digit
let remainder = temp % 10;
sum += remainder * remainder * remainder;
// removing last digit from the number
temp = parseInt(temp / 10); // convert float into integer
}
// check the condition
if (sum == number) {
console.log(`${number} is an Armstrong number`);
}
else {
console.log(`${number} is not an Armstrong number.`);
}
出力
Enter a three-digit positive integer: 153 153 is an Armstrong number.
上記のプログラムは、ユーザーからの入力を受け取ります。 次に、
- ユーザーが入力した数値は一時変数に格納されます
temp
。 - A
while
ループは、3桁の値を反復するために使用されます。- ザ・ モジュラス演算子
%
各桁番号を取得するために使用されます。 数をで割ったとき 10、余りは最後の桁です。 最初の反復では、153 % 10
与える 3。 - 余りの桁の立方体は、桁を3倍することによって計算されます。 そして、キューブがに追加されます
sum
変数。 - 桁はで除算されます 10 最後の桁を削除します。
- ザ・
while
ループは繰り返しを続け、数値をで除算します 10 数が 0。
- ザ・ モジュラス演算子
- 最後に、合計がユーザーが入力した数値と比較されます。 合計と数が等しい場合、その数はアームストロング数です。
注意:上記のプログラムでは、数値の3乗は指数演算子を使用して計算できます **
。 例えば、 sum += remainder ** 3;
例2:アームストロングのn桁の数を確認する
// program to check an Armstrong number of n digits
// take an input
const number = prompt("Enter a positive integer");
const numberOfDigits = number.length;
let sum = 0;
// create a temporary variable
let temp = number;
while (temp > 0) {
let remainder = temp % 10;
sum += remainder ** numberOfDigits;
// removing last digit from the number
temp = parseInt(temp / 10); // convert float into integer
}
if (sum == number) {
console.log(`${number} is an Armstrong number`);
}
else {
console.log(`${number} is not an Armstrong number.`);
}
出力
Enter a positive integer: 92727 92727 is an Armstrong number
上記のプログラムでは、n桁のアームストロング数がチェックされます。
ユーザーが数値を入力すると、それは文字列と見なされます。 ザ・ length
プロパティは文字列の長さを返します。
ユーザーが入力した番号は、 temp
変数。 そして、 while
ループは、その値が以下になるまで繰り返すために使用されます 0。 数値の各桁は、数値の長さの累乗になります。
Hope this helps!
Source link