/* * Program to Check Prime or Armstrong Number */ #include int checkPrimeNumber(int); int checkArmstrongNumber(int); int pow(int, int); /* Entry point to program */ int main() { int num, flag; printf("Enter a positive integer: "); scanf("%d", &num); /* Check prime number */ flag = checkPrimeNumber(num); if (flag == 1) printf("%d is a prime number.\n", num); else printf("%d is not a prime number.\n", num); /* Check Armstrong number */ flag = checkArmstrongNumber(num); if (flag == 1) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; } /* Function check prime number */ int checkPrimeNumber(int num) { int i, flag = 1; for (i = 2; i <= num / 2; ++i) { /* Condition for non-prime number */ if (num % i == 0) { flag = 0; break; } } return flag; } /* Function check Armstrong number */ int checkArmstrongNumber(int num) { int original, rem, result = 0, n = 0, flag; original = num; while (original != 0) { original /= 10; ++n; } original = num; while (original != 0) { rem = original % 10; result += pow(rem, n); original /= 10; } /* Condition for Armstrong number */ if (result == num) flag = 1; else flag = 0; return flag; } /* Function computes the power of a number */ int pow(int base, int exponent) { int pow = 1; for (exponent; exponent > 0; exponent--) { pow = pow * base; } return pow; }