#include <stdio.h>
int main()
{
int n, original, temp, digit, count = 0;
int sum = 0, power, i;
original = n;
temp = n;
// Count the number of digits
while (temp != 0)
{
count++;
temp = temp / 10;
}
temp = n;
// Calculate sum of digits raised to the power of count
while (temp != 0)
{
digit = temp % 10;
power = 1;
for (i = 1; i <= count; i++)
{
power = power * digit;
}
sum = sum + power;
temp = temp / 10;
}
if (sum == original)
printf("%d is an Armstrong Number.", original
); else
printf("%d is not an Armstrong Number.", original
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKICAgIGludCBuLCBvcmlnaW5hbCwgdGVtcCwgZGlnaXQsIGNvdW50ID0gMDsKICAgIGludCBzdW0gPSAwLCBwb3dlciwgaTsKCiAgICBwcmludGYoIkVudGVyIGEgbnVtYmVyOiAiKTsKICAgIHNjYW5mKCIlZCIsICZuKTsKCiAgICBvcmlnaW5hbCA9IG47CiAgICB0ZW1wID0gbjsKCiAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIGRpZ2l0cwogICAgd2hpbGUgKHRlbXAgIT0gMCkKICAgIHsKICAgICAgICBjb3VudCsrOwogICAgICAgIHRlbXAgPSB0ZW1wIC8gMTA7CiAgICB9CgogICAgdGVtcCA9IG47CgogICAgLy8gQ2FsY3VsYXRlIHN1bSBvZiBkaWdpdHMgcmFpc2VkIHRvIHRoZSBwb3dlciBvZiBjb3VudAogICAgd2hpbGUgKHRlbXAgIT0gMCkKICAgIHsKICAgICAgICBkaWdpdCA9IHRlbXAgJSAxMDsKICAgICAgICBwb3dlciA9IDE7CgogICAgICAgIGZvciAoaSA9IDE7IGkgPD0gY291bnQ7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHBvd2VyID0gcG93ZXIgKiBkaWdpdDsKICAgICAgICB9CgogICAgICAgIHN1bSA9IHN1bSArIHBvd2VyOwogICAgICAgIHRlbXAgPSB0ZW1wIC8gMTA7CiAgICB9CgogICAgaWYgKHN1bSA9PSBvcmlnaW5hbCkKICAgICAgICBwcmludGYoIiVkIGlzIGFuIEFybXN0cm9uZyBOdW1iZXIuIiwgb3JpZ2luYWwpOwogICAgZWxzZQogICAgICAgIHByaW50ZigiJWQgaXMgbm90IGFuIEFybXN0cm9uZyBOdW1iZXIuIiwgb3JpZ2luYWwpOwoKICAgIHJldHVybiAwOwp9