Problem
Write a program in C to find if a given number is Armstrong number or not.
How to check if a number is a Armstrong number or not in C programming Language ?
A given number is a Armstrong number of order n if
abc… = an + bn + cn + …
For example , 371 is a Armstrong number because the result of the following leads to the number by itself.
3*3*3 + 7*7*7 + 1*1*1 = 371
#include <stdio.h>
#include <math.h>
int main()
{
    int inputNumber, temp, remainder;
    int output = 0, index = 0 , i =0;
    printf("Abundantcode.com coding samples \n");
    printf("Enter the Number : ");
    scanf("%d", &inputNumber);
    temp = inputNumber;
    
    while (temp != 0)
    {
        temp /= 10;
        ++index;
    }
    temp = inputNumber;
    while (temp != 0)
    {
        remainder = temp%10;
        output += pow(remainder,index);
        temp /= 10;
    }
    if(output == inputNumber)
        printf("%d is an Armstrong number.", inputNumber);
    else
        printf("%d is not an Armstrong number.", output);
    return 0;
}Output
Abundantcode.com coding samples
Enter the Number : 371     
371 is an Armstrong number
Leave a Reply