Integer positif disebut bilangan Armstrong (orde n) jika
abcd... = an + bn + cn + dn +
Dalam kasus jumlah Armstrong 3 digit, jumlah kubus dari setiap digit sama dengan angka itu sendiri. Misalnya, 153 adalah angka Armstrong karena
153 = 1*1*1 + 5*5*5 + 3*3*3
Contoh: Periksa Armstrong Jumlah 3 Digit
#include
using namespace std;
int main() {
int num, originalNum, remainder, result = 0;
cout << "Enter a three-digit integer: ";
cin >> 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
Enter a positive integer: 371 371 is an Armstrong number.
Dalam program ini, kita beralih melalui loop sementara hingga nomor asli adalah 0.
Di setiap iterasi dari loop, kubus dari digit terakhir orignalNum ditambahkan ke hasil.
remainder = originalNum % 10;
result += remainder * remainder * remainder;
Dan, digit terakhir dihapus dari orignalNum
.
Ketika loop berakhir, jumlah kubus digit individu disimpan di hasil.
Contoh: Periksa Jumlah Armstrong dari n Digit
#include
#include
using namespace std;
int main() {
int num, originalNum, remainder, n = 0, result = 0, power;
printf("Enter an integer: ");
scanf("%d", &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
Enter an integer: 1634 1634 is an Armstrong number.
Dalam program ini, jumlah digit dari angka yang dimasukkan dihitung terlebih dahulu dan disimpan di n.
Dan, itu pow()
fungsi menghitung kekuatan masing - masing digit dalam setiap iterasi while
lingkaran.