アームストロング数をチェックするJavaScriptプログラム(例付き)

正の整数は、次の場合にアームストロング数(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.

上記のプログラムは、ユーザーからの入力を受け取ります。 次に、

  1. ユーザーが入力した数値は一時変数に格納されます temp
  2. A while ループは、3桁の値を反復するために使用されます。
    1. ザ・ モジュラス演算子 % 各桁番号を取得するために使用されます。 数をで割ったとき 10、余りは最後の桁です。 最初の反復では、 153 % 10 与える 3
    2. 余りの桁の立方体は、桁を3倍することによって計算されます。 そして、キューブがに追加されます sum 変数。
    3. 桁はで除算されます 10 最後の桁を削除します。
    4. ザ・ while ループは繰り返しを続け、数値をで除算します 10 数が 0
  3. 最後に、合計がユーザーが入力した数値と比較されます。 合計と数が等しい場合、その数はアームストロング数です。

注意:上記のプログラムでは、数値の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