Program C ++ untuk Memeriksa Angka Armstrong

Dalam contoh ini, anda akan belajar untuk memeriksa sama ada nombor yang dimasukkan oleh pengguna adalah nombor Armstrong atau tidak.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan C ++ berikut:

  • C ++ jika, jika… lain dan Bersarang jika… lain
  • C ++ sambil dan lakukan … sambil Loop

Bilangan bulat positif disebut nombor Armstrong (urutan n) jika

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

Bagi bilangan Armstrong 3 digit, jumlah kubus setiap digit sama dengan nombor itu sendiri. Sebagai contoh, 153 adalah nombor Armstrong kerana

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 

Contoh: Periksa Armstrong Bilangan 3 Digit

 #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; )

Pengeluaran

 Masukkan bilangan bulat positif: 371 371 adalah nombor Armstrong.

Dalam program ini, kita melakukan iterasi melalui loop sementara sehingga OriginalNum adalah 0.

Dalam setiap lelaran gelung, kubus digit terakhir orignalNum ditambahkan ke hasil.

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

Dan, digit terakhir dikeluarkan dari orignalNum.

Apabila gelung berakhir, jumlah kubus digit individu disimpan dalam hasil.

Contoh: Periksa Armstrong Bilangan n Digit

 #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; )

Pengeluaran

 Masukkan bilangan bulat: 1634 1634 adalah nombor Armstrong.

Dalam program ini, bilangan digit nombor yang dimasukkan dikira terlebih dahulu dan disimpan dalam n.

Dan, pow()fungsi mengira kuasa digit individu dalam setiap lelaran daripada whilegelung.

Artikel menarik...