Armstrong Number in C

Before going to write the c program to check whether the number is Armstrong or not, let's understand what is Armstrong number.

Armstrong number is a number that is equal to the sum of cubes of its digits. For example 0, 1, 153, 370, 371 and 407 are the Armstrong numbers.

Let's try to understand why 153 is an Armstrong number.

  1. 153 = (1*1*1)+(5*5*5)+(3*3*3)  
  2. where:  
  3. (1*1*1)=1  
  4. (5*5*5)=125  
  5. (3*3*3)=27  
  6. So:  
  7. 1+125+27=153  

Let's try to understand why 371 is an Armstrong number.

  1. 371 = (3*3*3)+(7*7*7)+(1*1*1)  
  2. where:  
  3. (3*3*3)=27  
  4. (7*7*7)=343  
  5. (1*1*1)=1  
  6. So:  
  7. 27+343+1=371  

Let's see the c program to check Armstrong Number in C.

  1. #include<stdio.h>  
  2.  int main()    
  3. {    
  4. int n,r,sum=0,temp;    
  5. printf("enter the number=");    
  6. scanf("%d",&n);    
  7. temp=n;    
  8. while(n>0)    
  9. {    
  10. r=n%10;    
  11. sum=sum+(r*r*r);    
  12. n=n/10;    
  13. }    
  14. if(temp==sum)    
  15. printf("armstrong  number ");    
  16. else    
  17. printf("not armstrong number");    
  18. return 0;  
  19. }   

Output:

enter the number = 153
armstrong number

enter the number = 5 
not armstrong number 
Previous Post Next Post