Program Java untuk Memeriksa Nomor Armstrong

Dalam program ini, Anda akan belajar untuk memeriksa apakah suatu nomor adalah nomor kuat atau bukan. Anda akan belajar melakukan ini dengan menggunakan for loop dan while loop di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Java sementara dan melakukan… saat Loop
  • Pernyataan Java if… else
  • Java untuk Loop

Bilangan bulat positif disebut bilangan Armstrong orde n jika

abcd… = a n + b n + c n + d n +…

Dalam kasus bilangan Armstrong 3 digit, jumlah pangkat tiga dari setiap digit sama dengan bilangan itu sendiri. Sebagai contoh:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 adalah bilangan Armstrong. 

Contoh 1: Periksa Nomor Armstrong untuk 3 digit angka

 public class Armstrong ( public static void main(String() args) ( int number = 371, originalNumber, remainder, result = 0; originalNumber = number; while (originalNumber != 0) ( remainder = originalNumber % 10; result += Math.pow(remainder, 3); originalNumber /= 10; ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Keluaran

 371 adalah nomor Armstrong.
  • Pertama, nilai number (angka) disimpan dalam variabel integer lain, originalNumber. Ini karena, kita perlu membandingkan nilai bilangan akhir dan bilangan asli di akhir.
  • Kemudian, loop sementara digunakan untuk mengulang melalui originalNumber hingga sama dengan 0.
    • Pada setiap iterasi, digit terakhir dari angka disimpan di sisa.
    • Kemudian, sisa didukung oleh 3 (jumlah digit) menggunakan Math.pow()fungsi dan ditambahkan ke hasil.
    • Kemudian, digit terakhir dihapus dari originalNumber setelah pembagian dengan 10.
  • Akhirnya, hasil dan angka dibandingkan. Jika sama, itu adalah bilangan Armstrong. Jika tidak, maka tidak.

Contoh 2: Periksa nomor Armstrong untuk n digit

 public class Armstrong ( public static void main(String() args) ( int number = 1634, originalNumber, remainder, result = 0, n = 0; originalNumber = number; for (;originalNumber != 0; originalNumber /= 10, ++n); originalNumber = number; for (;originalNumber != 0; originalNumber /= 10) ( remainder = originalNumber % 10; result += Math.pow(remainder, n); ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Keluaran

 1634 adalah nomor Armstrong.

Dalam program ini, daripada menggunakan while loop, kita menggunakan dua for loop.

Perulangan for pertama digunakan untuk menghitung jumlah digit dalam bilangan tersebut. Ini adalah bentuk padat dari:

 untuk (; originalNumber! = 0; originalNumber / = 10) (n ++;)

Perulangan for yang kedua kemudian menghitung hasil di mana pada setiap iterasi, sisanya didukung oleh jumlah digit n.

Kunjungi halaman ini untuk mempelajari, bagaimana Anda dapat menampilkan semua nomor kuat di antara dua interval.

Artikel yang menarik...