Write a C program to check whether a given number is an Armstrong number or not.
2 min 45 sec
Author: Manish Methani
An Armstrong number is a number that equals the sum of the cube of each digit in a number.
For example, suppose a given number is 153.
To check whether a given number is Armstrong or not, we have to take the cube of each digit in a number and take a sum of those.
153 = (1*1*1) + (5*5*5) + (3*3*3)
After the addition of the cube of each digit, we get the original number which is 153. Hence, the given number is Armstrong.
#include <stdio.h>
int main()
{
int n = 153, sum = 0, remainder = 0,tempNumber;
tempNumber = n;
while(tempNumber!=0)
{
remainder = tempNumber % 10;
sum = sum + (remainder*remainder*remainder);
tempNumber /= 10;
} if(sum==n)
{
printf("%d is an Armstrong number.",n);
}
else
{
printf("%d is not an Armstrong number.",n);
}
return 0;
}
Output
153 is an Armstrong number
Program Logic
- First, we take the original number into a temporary variable which is tempNumber.
- Then, we get the last digit of a temporary number using the modulo method inside a loop.
- After getting the last digit of a number, we added it with the cube of that last digit number.
- Then assigned the remaining digits except for the last digit of a number using the Quotient method.
- This process will be in the loop till we find that givenNumber do not reach 0.
If at the end we find that this new number after addition is found as. same or not. If yes, then the given number is an Armstrong number else it is not an Armstrong number.
C Program to check whether a given number is Armstrong or not using a user-defined function
#include <stdio.h>
int isArmstrong(int n)
{
int tempNumber=n;
int remainder,sum;
sum=0;
while(tempNumber!=0)
{
remainder=tempNumber%10;
sum = sum + (remainder*remainder*remainder);
tempNumber/=10;
}if(sum==n)
return 1
else
return 0;
}int main()
{
int n = 153;
if(isArmstrong(n))
printf("%d is an Armstrong number.",n);
else
printf("%d is not an Armstrong number.",n);
return 0;
}
Output
153 is an Armstrong number
Topics you might like to read,