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 2053 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

Leave a Comment


x

You might be Interested in these Posts

How to decode a base64 string in C#?

Here's a sample code snippet demonstrating how you can easily decode a base64 encoded string in C#. ...

How to disable editing of items in a combo box in c#?

When working in Win forms using C# and especially when you use the combo box , you would have notice...

C# Program to swap two numbers without using temporary variable

Problem Write a program in Visual CSharp to swap two numbers using temporary variable and display t...