Run ID:66976

提交时间:2024-03-12 19:26:50

#include <iostream> #include <vector> #include <algorithm> #include <string> // 判断是否为素数 bool is_prime(int n) { if (n <= 1) { return false; } if (n == 2) { return true; } if (n % 2 == 0) { return false; } for (int i = 3; i * i <= n; i += 2) { if (n % i == 0) { return false; } } return true; } // 反转数字 int reverse_int(int n) { int reversed = 0; while (n > 0) { reversed = reversed * 10 + n % 10; n /= 10; } return reversed; } // 寻找绝对素数 std::vector<int> find_emirps(int M, int N) { std::vector<int> emirps; for (int num = M; num <= N; ++num) { if (is_prime(num)) { int reversed_num = reverse_int(num); if (num != reversed_num && is_prime(reversed_num)) { emirps.push_back(num); } } } return emirps; } int main() { int M, N; std::cin >> M >> N; std::vector<int> emirps = find_emirps(M, N); if (emirps.empty()) { std::cout << "No"; } else { for (size_t i = 0; i < emirps.size(); ++i) { if (i > 0) { std::cout << ","; } std::cout << emirps[i]; } } std::cout << std::endl; return 0; }