# C program to check Armstrong number

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.

## C program to check Armstrong number of three digits

``````#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 ## C program to check Armstrong number of any digit

``````#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.