C Program to find if the input is a Armstrong Number or Not

Published on December 21, 2016 by abundantcode

Filed under C

Last modified December 21, 2016

Print this page

rate 1 star rate 2 star rate 3 star rate 4 star rate 5 star
Your rating: none, Average: 0 (0 votes)

This article have been viewed 518 times

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

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Leave a Comment


x

You might be Interested in these Posts

C Program to find the factorial of a number using Recursive function

Problem Write a program in C to find the factorial of a number using recursion and display the resu...

C Program to find the Sum of natural numbers

Problem Write a program in C to find the sum of natural numbers using recursive function. How to f...

C Program to display inverted full pyramid using *

Problem Write a program in C to print inverted full pyramid using * as shown below.The program shou...