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