绝对素数 (1).c 632 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include <stdio.h>
  2. #include <math.h>
  3. int is_prime(int x) {
  4. int i;
  5. if (x <= 1) {
  6. return 0;
  7. }
  8. for (i = 2; i <= sqrt(x); ++i) {
  9. if (x % i == 0) {
  10. return 0;
  11. }
  12. }
  13. return 1;
  14. }
  15. int absolute(int x) {
  16. int reverse = 0, original = x;
  17. while (x > 0) {
  18. int digit = x % 10;
  19. reverse = reverse * 10 + digit;
  20. x /= 10;
  21. }
  22. return is_prime(original) && is_prime(reverse);
  23. }
  24. int main() {
  25. int a, b,i;
  26. scanf("%d %d", &a, &b);
  27. for (i = a; i <= b; ++i) {
  28. if (absolute(i)) {
  29. printf("%d\n", i);
  30. }
  31. }
  32. return 0;
  33. }