fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main() {
  5. int num, originalNum, remainder, result = 0, n = 0;
  6.  
  7. printf("Enter a number: ");
  8. scanf("%d", &num);
  9.  
  10. originalNum = num;
  11.  
  12. // Count number of digits
  13. while (originalNum != 0) {
  14. originalNum /= 10;
  15. ++n;
  16. }
  17.  
  18. originalNum = num;
  19.  
  20. // Calculate sum of digits raised to power n
  21. while (originalNum != 0) {
  22. remainder = originalNum % 10;
  23. result += pow(remainder, n);
  24. originalNum /= 10;
  25. }
  26.  
  27. if (result == num)
  28. printf("%d is an Armstrong number.\n", num);
  29. else
  30. printf("%d is not an Armstrong number.\n", num);
  31.  
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Enter a number: 21857 is not an Armstrong number.