fork download
  1. #include <stdio.h>
  2. #include<math.h>
  3. //Compiler version gcc 6.3.0
  4.  
  5. int armstrong(int);
  6. int digits(int);
  7.  
  8. int main(void)
  9. {
  10. int n;
  11. printf("enter a number\n");
  12. scanf("%d",&n);
  13. if(armstrong(n)==n)
  14. {
  15. printf("its armstrong\n");
  16. }
  17. else{
  18. printf("not armstrong");
  19. }
  20. }
  21. int armstrong(int a)
  22. {
  23. int c,temp,rem,result=0;
  24. c= digits(a);
  25. temp=a;
  26. while(temp>0){
  27. rem=temp%10;
  28. result+=pow(rem,c);
  29. temp/=10;
  30. }
  31. //printf("result = %d\n",result);
  32. if(result==a){
  33. return a;
  34. }
  35. else{
  36. return 0;
  37. }
  38. }
  39. int digits(int k)
  40. {
  41. int c,temp=k;
  42. while(temp>0){
  43. c++;
  44. temp/=10;
  45. }
  46. //printf("c=%d\n",c);
  47. return c;
  48. }
  49.  
Success #stdin #stdout 0s 9432KB
stdin
1634
stdout
enter a number
not armstrong