In this article, you will learn the concept of C program to check Armstrong number.
Armstrong Number
A three digits number is said to be an Armstrong number if the sum of the cubes of its individual digit is equal to the number itself.
For example:
371 = 3*3*3 + 7*7*7 + 1*1*1
Please go through following articles of C programming to understand the concept of the program.
#include <stdio.h>
int main()
{
int num, temp, rem, sum = 0;
printf("Enter a three digit number: ");
scanf("%d", &num);
temp = num;
while (num != 0)
{
rem = num % 10;
sum += rem * rem * rem;
num = num / 10;
}
if (temp == sum)
printf("\n%d is an Armstrong number", temp);
else
printf("\n%d is not an Armstrong number", temp);
return 0;
}
Output
[adsense1]
#include <stdio.h>
#include <math.h>
int main()
{
int num, temp, rem;
int sum = 0, n = 0;
printf("Enter a number: ");
scanf("%d", &num);
temp = num;
//logic to find the number of digits in a given number
while (temp != 0)
{
temp = temp / 10;
n++;
}
temp = num;
while (temp != 0)
{
rem = temp % 10;
sum = sum + pow(rem, n);
temp = temp / 10;
}
if (num == sum)
printf("\n%d is an Armstrong number.", num);
else
printf("\n%d is not an Armstrong number.", num);
return 0;
}
Output
Explanation
In the second program, at first, we calculated the number of digits of the given number.
We used standard library function pow
to calculate the cube of the remainder.