Program JavaScript untuk Memeriksa Nomor Armstrong (dengan Contoh)

Bilangan bulat positif disebut bilangan Armstrong (berorde n) jika

abcd... = an + bn + cn + dn + ...

Dalam kasus bilangan Armstrong 3 digit, jumlah pangkat tiga dari setiap digit sama dengan bilangan itu sendiri. Sebagai contoh, 153 adalah nomor Armstrong karena

153 = 1*1*1 + 5*5*5 + 3*3*3

Demikian pula, 1634 adalah nomor Armstrong karena:

1634 = 1*1*1*1 + 6*6*6*6* + 3*3*3*3 + 4*4*4*4

Contoh 1: Periksa Jumlah Tiga Digit Armstrong

// 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.`);
}

Keluaran

Enter a three-digit positive integer: 153
153 is an Armstrong number.

Program di atas mengambil masukan dari pengguna. Kemudian,

  1. Nomor yang dimasukkan oleh pengguna disimpan dalam variabel sementara temp.
  2. SEBUAH while loop digunakan untuk mengulang nilai tiga digit.
    1. Itu operator modulus % digunakan untuk mendapatkan setiap digit angka. Saat angka dibagi 10, sisanya adalah digit terakhir. Pada iterasi pertama, 153 % 10 memberi 3.
    2. Kubus digit sisa dihitung dengan mengalikan digit tiga kali. Dan kubus ditambahkan ke sum variabel.
    3. Digit dibagi dengan 10 untuk menghapus digit terakhir.
    4. Itu while loop terus mengulang dan membagi nomor dengan 10 sampai nomornya 0.
  3. Akhirnya, jumlah tersebut dibandingkan dengan jumlah yang dimasukkan oleh pengguna. Jika jumlah dan angkanya sama, angkanya adalah bilangan Armstrong.

Catatan: Dalam program di atas, kubus sebuah bilangan dapat dihitung menggunakan operator eksponen **. Sebagai contoh, sum += remainder ** 3;


Contoh 2: Periksa Jumlah n Digit Armstrong

// 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.`);
}

Keluaran

Enter a positive integer: 92727
92727 is an Armstrong number

Dalam program di atas, sejumlah n digit Armstrong diperiksa.

Ketika pengguna memasukkan angka, itu diambil sebagai string. Itu length properti mengembalikan panjang string.

Nomor yang dimasukkan oleh pengguna disimpan di a temp variabel. Dan a while loop digunakan untuk mengulang sampai nilainya kurang dari 0. Setiap digit angka dipangkatkan dengan panjang angka.