Dalam contoh ini, Anda akan belajar menulis program dalam JavaScript untuk menemukan bilangan Armstrong di antara dua nilai integer.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman JavaScript berikut:
- JavaScript untuk 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
Sebelum mencoba program ini, kunjungi Program JavaScript untuk Memeriksa Nomor Armstrong.
Contoh: Nomor Armstrong di Antara Dua Interval
// program to find Armstrong number between intervals // take an input const lowNumber = parseInt(prompt('Enter a positive low integer value: ')); const highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == i) ( console.log(i); ) )
Keluaran
Masukkan nilai bilangan bulat positif rendah: 8 Masukkan nilai bilangan bulat tinggi positif: 500 Armstrong Numbers: 8 9153 370 371407
Dalam program di atas, pengguna diminta untuk memasukkan dua bilangan bulat. Salah satunya adalah bilangan bulat interval yang lebih rendah dan yang lainnya adalah nilai bilangan bulat yang lebih tinggi.
The parseInt()
mengkonversi nilai string numerik ke nilai integer.
The for
loop digunakan untuk loop melalui dua nomor yang disediakan oleh pengguna.
The toString()
metode yang digunakan untuk mengkonversi angka ke string. Dan length
property tersebut digunakan untuk mencari panjang sebuah string. Oleh karena itu, dalam hal ini, length
berikan total digit dalam nomor tersebut.
let numberOfDigits = i.toString().length;
Pada for
iterasi loop pertama ( i = 8 ),
- Angka yang lebih rendah yang dimasukkan oleh pengguna disimpan dalam variabel sementara
temp
. - Sebuah
while
loop digunakan untuk iterate nomor.- The Operator modulus
%
digunakan untuk memperoleh setiap nomor digit. Saat sebuah angka dibagi 10 , sisanya adalah digit terakhir. Pada iterasi pertama,8 % 10
menghasilkan 8 . - Sisanya dikalikan dengan jumlah digit di angka itu (di sini 1 ) dan jumlahnya dihitung.
- Digit tersebut dibagi dengan 10 untuk menghapus digit terakhir, yaitu
8 / 10
0.
- The Operator modulus
- Akhirnya, jumlah tersebut dibandingkan dengan jumlah yang dimasukkan oleh pengguna. Jika jumlah dan jumlahnya sama, angka Armstrong ditampilkan.
Perulangan berlanjut untuk semua angka yang berada di antara batas bawah dan atas yang disediakan oleh pengguna. Dalam contoh di atas, loop dijalankan dari 8 hingga 500 .