Program Kotlin 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 while loop di Kotlin.

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

 fun main(args: Array) ( val number = 371 var originalNumber: Int var remainder: Int var result = 0 originalNumber = number while (originalNumber != 0) ( remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), 3.0).toInt() originalNumber /= 10 ) if (result == number) println("$number is an Armstrong number.") else println("$number is not an Armstrong number.") ) 

Saat Anda menjalankan program, hasilnya adalah:

 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.
      Di sini, sisa diubah menjadi Doublekarena powhanya menerima Doubleparameter, dan nilainya diubah kembali menjadiInt
    • Kemudian, digit terakhir dihapus dari originalNumber setelah pembagian dengan 10.
  • Akhirnya, hasil dan angka dibandingkan. Jika sama, itu adalah bilangan kuat. Jika tidak, maka tidak.

Berikut kode Java yang setara: Program Java untuk Memeriksa Nomor Armstrong

Contoh 2: Periksa nomor Armstrong untuk n digit

 fun main(args: Array) ( val number = 1634 var originalNumber: Int var remainder: Int var result = 0 var n = 0 originalNumber = number while (originalNumber != 0) ( originalNumber /= 10 ++n ) originalNumber = number while (originalNumber != 0) ( remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), n.toDouble()).toInt() originalNumber /= 10 ) if (result == number) println("$number is an Armstrong number.") else println("$number is not an Armstrong number.") )

Dalam program ini, kami telah menggunakan dua while loop. Perulangan while pertama digunakan untuk menghitung jumlah digit dalam bilangan tersebut.

Kemudian, originalNumber dikembalikan ke nomor yang diberikan.

Perulangan while kedua kemudian memeriksa apakah nomor tersebut kuat atau tidak.

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

Artikel yang menarik...