判断可逆素数.c 629 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include <stdio.h>
  2. int isPrime(int num) {
  3. int i;
  4. if (num <= 1) {
  5. return 0;
  6. }
  7. for (i = 2; i * i <= num; i++) {
  8. if (num % i == 0) {
  9. return 0;
  10. }
  11. }
  12. return 1;
  13. }
  14. int isReversiblePrime(int num) {
  15. int reversedNum = 0;
  16. int originalNum = num;
  17. while (num > 0) {
  18. reversedNum = reversedNum * 10 + num % 10;
  19. num /= 10;
  20. }
  21. return isPrime(reversedNum) && isPrime(originalNum);
  22. }
  23. int main() {
  24. int num;
  25. scanf("%d", &num);
  26. if (isReversiblePrime(num)) {
  27. printf("yes\n");
  28. } else {
  29. printf("no\n");
  30. }
  31. return 0;
  32. }