#include <iostream>
#include <cmath>
#include <cstdlib>
bool fAmstrong(int bilangan) {
int bilAsal = bilangan;
int jlhdigit = 0 ;
int jumlah = 0 ;
while (bilAsal != 0) {
bilAsal /= 10;
++jlhdigit;
}
bilAsal = bilangan;
while (bilAsal !=0) {
int digit = bilAsal % 10;
int pgktdigit = pow(digit, jlhdigit);
jumlah += pgktdigit;
std::cout <<digit<<"^"<<jlhdigit<<"="<<pgktdigit<<std::endl;
bilAsal /= 10;
}
if (jumlah == bilangan){
return true;
} else {
return false;
}
}
int main() {
int bilangan;
std::cout << "Masukkan sebuah bilangan: ";
std::cin >> bilangan;
if (fAmstrong(bilangan)) {
std::cout << bilangan << "adalah bilangan Amstrong" <<std::endl;
} else {
std::cout << bilangan << "bukan bilangan Amstrong" << std::endl;
}
system("PAUSE");
return 0;
}