Dalam contoh ini, Anda akan belajar menulis program dalam JavaScript untuk memeriksa apakah suatu bilangan adalah bilangan Armstrong atau bukan.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman JavaScript berikut:
- Operator JavaScript
- JavaScript sementara dan melakukan… saat Loop
Bilangan bulat positif disebut bilangan Armstrong (berorde n) jika
abcd… = a n + b n + c n + d n +…
Dalam kasus bilangan Armstrong yang terdiri dari 3 digit, jumlah pangkat tiga dari setiap digit sama dengan bilangan itu sendiri. Misalnya, 153 adalah bilangan Armstrong karena
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Demikian pula, 1634 adalah bilangan 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
Masukkan bilangan bulat positif tiga digit: 153 153 adalah bilangan Armstrong.
Program di atas mengambil masukan dari pengguna. Kemudian,
- Nomor yang dimasukkan oleh pengguna disimpan dalam variabel sementara
temp
. - Sebuah
while
lingkaran digunakan untuk iterate nilai tiga digit.- The Operator modulus
%
digunakan untuk memperoleh setiap nomor digit. Saat sebuah angka dibagi 10 , sisanya adalah digit terakhir. Pada iterasi pertama,153 % 10
memberikan 3 . - Kubus digit sisa dihitung dengan mengalikan digit tiga kali. Dan kubus ditambahkan ke
sum
variabel. - Digit dibagi 10 untuk menghapus digit terakhir.
- The
while
Loop terus iterasi dan membagi nomor dengan 10 sampai jumlahnya 0 .
- The Operator modulus
- 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 dari 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
Masukkan bilangan bulat positif: 92727 92727 adalah bilangan Armstrong
Dalam program di atas, sejumlah n digit Armstrong diperiksa.
Ketika pengguna memasukkan angka, itu diambil sebagai string. The length
properti mengembalikan panjang string.
Nomor yang dimasukkan oleh pengguna disimpan dalam temp
variabel. Dan sebuah while
loop digunakan untuk melakukan iterasi sampai nilainya kurang dari 0 . Setiap digit angka dipangkatkan dengan panjang angka.