Write a C program to check whether a number is an Armstrong number
Description: Take a 3 digit number as input. Print if it is an Armstrong number. For example, 153 is, because 13 + 53 + 33 = 153.
Hint:
- Take each digit with
% 10, add its cube to a sum, and compare the sum with the original number.
C program to check an Armstrong number
#include <stdio.h>
int main(void) {
int n, original, digit, sum = 0;
printf("Enter a 3 digit number: ");
scanf("%d", &n);
original = n;
while (n > 0) {
digit = n % 10;
sum += digit * digit * digit;
n /= 10;
}
if (sum == original) {
printf("%d is an Armstrong number\n", original);
} else {
printf("%d is not an Armstrong number\n", original);
}
return 0;
}
Output:
Output of the above program is
Enter a 3 digit number: 153
153 is an Armstrong number
How it works
- The digits of 153 are 3, 5 and 1. Their cubes are 27, 125 and 1, and the sum is 153.
- For numbers with a different count of digits, the power is the count of digits, not 3.
Learn more about the similar topics:
| Tutorials |
|---|
| No Content Found. |
| Exercises & Assignments |
|---|
| No Content Found. |
| Interview Questions & Answers |
|---|
| No Content Found. |