Check Prime and Armstrong Number in C


SUBMITTED BY: kaushal1981

DATE: Feb. 23, 2017, 7:14 a.m.

FORMAT: Text only

SIZE: 1.4 kB

HITS: 1041

  1. #include <stdio.h>
  2. #include <math.h>
  3. int checkPrimeNumber(int n);
  4. int checkArmstrongNumber(int n);
  5. int main()
  6. {
  7. int n, flag;
  8. printf("Enter a positive integer: ");
  9. scanf("%d", &n);
  10. // Check prime number
  11. flag = checkPrimeNumber(n);
  12. if (flag == 1)
  13. printf("%d is a prime number.\n", n);
  14. else
  15. printf("%d is not a prime number.\n", n);
  16. // Check Armstrong number
  17. flag = checkArmstrongNumber(n);
  18. if (flag == 1)
  19. printf("%d is an Armstrong number.", n);
  20. else
  21. printf("%d is not an Armstrong number.",n);
  22. return 0;
  23. }
  24. int checkPrimeNumber(int n)
  25. {
  26. int i, flag = 1;
  27. for(i=2; i<=n/2; ++i)
  28. {
  29. // condition for non-prime number
  30. if(n%i == 0)
  31. {
  32. flag = 0;
  33. break;
  34. }
  35. }
  36. return flag;
  37. }
  38. int checkArmstrongNumber(int number)
  39. {
  40. int originalNumber, remainder, result = 0, n = 0, flag;
  41. originalNumber = number;
  42. while (originalNumber != 0)
  43. {
  44. originalNumber /= 10;
  45. ++n;
  46. }
  47. originalNumber = number;
  48. while (originalNumber != 0)
  49. {
  50. remainder = originalNumber%10;
  51. result += pow(remainder, n);
  52. originalNumber /= 10;
  53. }
  54. // condition for Armstrong number
  55. if(result == number)
  56. flag = 1;
  57. else
  58. flag = 0;
  59. return flag;
  60. }

comments powered by Disqus