An Armstrong number is a number in which the sum of cubes of individual digits is equal to the Given number. Today we are going to learn how to write a C Program to check Armstrong Number.

In this program we are using 4 variables n, temp, rem, sum to check an Armstrong Number. `n`

is used to take the user input `temp`

value is copied from `n`

variable and it is used for iteration, `rem`

is used for calculating the remainder using the modulo operator, `sum`

variable is used to store the cubic value of the `rem`

variable plus previous `sum`

variable’s value [sum = sum + (rem*rem*rem)].

You might also consider reading:

#1. Here we are using a while loop to iterate until `temp`

value is not equal to 0. `temp%10`

extracts the last digit from the number (example: 512 % 10 = 2),

#2. We are calculating the cube of the obtained digit and adding it to the previous sum.

#3. Then we are stripping out the last digit by dividing the original number by 10 (example: 512 / 10 = 51.2 => 51, decimal point is ignored as it is declared as int variable).

#4. When the value of `temp`

variable reaches 0, while loop ends then we are comparing whether `sum`

variable equals `n`

variable. If they are equal then Armstrong else not Armstrong.

### C Program to check Armstrong Number

#include<stdio.h> #include<conio.h> void main() { int n, temp, rem=0, sum=0; printf("\nEnter a Number:"); scanf("%d", &n); temp = n; while(temp!=0) { rem = temp%10; sum = sum + (rem*rem*rem); temp = temp/10; } if(sum==n) { printf("\nGiven Number : %d is an Armstrong Number", n); } else { printf("\nGiven Number : %d is not an Armstrong Number", n); } getch(); }

Output:

{ 0 comments… add one now }