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,
- Nomor yang dimasukkan oleh pengguna disimpan dalam variabel sementara
temp
. - SEBUAH
while
loop digunakan untuk mengulang nilai tiga digit.- Itu operator modulus
%
digunakan untuk mendapatkan setiap digit angka. Saat angka dibagi 10, sisanya adalah digit terakhir. Pada iterasi pertama,153 % 10
memberi 3. - Kubus digit sisa dihitung dengan mengalikan digit tiga kali. Dan kubus ditambahkan ke
sum
variabel. - Digit dibagi dengan 10 untuk menghapus digit terakhir.
- Itu
while
loop terus mengulang dan membagi nomor dengan 10 sampai nomornya 0.
- Itu 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 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.