Program C ++ untuk Memeriksa Nomor Armstrong

Dalam contoh ini, Anda akan belajar untuk memeriksa apakah suatu nomor yang dimasukkan oleh pengguna adalah nomor Armstrong atau bukan.

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

  • C ++ if, if… else dan Nested if… else
  • C ++ 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 

Contoh: Periksa Jumlah 3 Digit Armstrong

 #include using namespace std; int main() ( int num, originalNum, remainder, result = 0; cout <> num; originalNum = num; while (originalNum != 0) ( // remainder contains the last digit remainder = originalNum % 10; result += remainder * remainder * remainder; // removing last digit from the orignal number originalNum /= 10; ) if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; )

Keluaran

 Masukkan bilangan bulat positif: 371371 adalah bilangan Armstrong.

Dalam program ini, kita melakukan iterasi melalui while sampai originalNum adalah 0.

Di setiap iterasi loop, pangkat tiga dari digit terakhir orignalNum ditambahkan ke hasil.

 remainder = originalNum % 10; result += remainder * remainder * remainder;

Dan, digit terakhir dihapus dari orignalNum.

Saat perulangan berakhir, jumlah kubus digit individu disimpan sebagai hasil.

Contoh: Periksa Jumlah n Digit Armstrong

 #include #include using namespace std; int main() ( int num, originalNum, remainder, n = 0, result = 0, power; cout <> num; originalNum = num; while (originalNum != 0) ( originalNum /= 10; ++n; ) originalNum = num; while (originalNum != 0) ( remainder = originalNum % 10; // pow() returns a double value // round() returns the equivalent int power = round(pow(remainder, n)); result += power; originalNum /= 10; ) if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; )

Keluaran

 Masukkan bilangan bulat: 1634 1634 adalah bilangan Armstrong.

Dalam program ini, jumlah digit bilangan yang dimasukkan dihitung terlebih dahulu dan disimpan dalam n.

Dan, pow()fungsi menghitung kekuatan digit individu di setiap iterasi whileloop.

Artikel yang menarik...