Dalam contoh ini, Anda akan belajar untuk memeriksa apakah bilangan bulat yang dimasukkan oleh pengguna adalah bilangan Armstrong atau bukan.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C berikut ini:
- Pernyataan C if… else
- C sementara dan lakukan… saat Loop
Bilangan bulat positif disebut bilangan Armstrong (berorde n) jika
abcd… = an + bn + cn + dn +
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
Periksa Nomor Armstrong tiga digit
#include int main() ( int num, originalNum, remainder, result = 0; printf("Enter a three-digit integer: "); scanf("%d", &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) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; )
Keluaran
Masukkan bilangan bulat tiga digit: 371371 adalah bilangan Armstrong.
Periksa Armstrong Number dari n digit
#include #include int main() ( int num, originalNum, remainder, n = 0; float result = 0.0; printf("Enter an integer: "); scanf("%d", &num); originalNum = num; // store the number of digits of num in n for (originalNum = num; originalNum != 0; ++n) ( originalNum /= 10; ) for (originalNum = num; originalNum != 0; originalNum /= 10) ( remainder = originalNum % 10; // store the sum of the power of individual digits in result result += pow(remainder, n); ) // if num is equal to result, the number is an Armstrong number if ((int)result == num) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; )
Keluaran
Masukkan bilangan bulat: 1634 1634 adalah bilangan Armstrong.
Dalam program ini, jumlah digit integer dihitung terlebih dahulu dan disimpan dalam format n
. Dan, pow()
fungsi tersebut digunakan untuk menghitung kekuatan digit individu di setiap iterasi for
loop kedua .