What is armstrong number and need C program to find armstrong number
What is Armstrong number?
Sum of a number's digits raised to the power total number of digits is armstrong number.
Armstrong numbers example: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634 etc
3 = 3^1 = 3
153 = 1^3 + 5^3 + 3^3 = 153
156 = 1^3 + 5^3 + 6^3 . This value is equal to 342. So, 156 is not an armstrong number
To find whether a number is Armstrong number or not, please use below C program.
int n, sum = 0, t, remainder;
printf("\nPlease enter a number to find whether it is an armstrong or not");
t = n;
while( t != 0 )
remainder = t%10;
sum = sum + remainder*remainder*remainder;
t = t/10;
if ( n == sum )
printf("\nThe number %d is an armstrong number", n);
printf("\nThe number %d is not an armstrong number", n);
In the while loop, I see that we have remainder brought to the third power. However, from the definition of what an armstrong number is that you listed, it looks like for a number with 1 digit, it will be raised to the 1 power, a power with 2 digits, each digits will be raised to the 2 power and then we find the sum of that. Hence, remainder will not always be raised to the third power but rather to the number of digits the number has. For a more explicit example, 1634 is an armstrong number because it has 4 digits and 1634 = 1^4 + 6^4 + 3^4 + 4^4.
Ask your questions or clarify your/others doubts from,