1.输入范围a到b
2.遍历范围内的每个数字
3.检查原数字是否为素数
4.反转数字
5.检查反转后的数字是否为素数
6.如果都满足则输出该数字
#include<iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
for(int num = a; num <= b; num++) {
if(num < 2) continue; // 小于2的数不是素数
// 判断原数是否为素数
bool is_prime = true;
for(int i = 2; i * i <= num; i++) {
if(num % i == 0) {
is_prime = false;
break;
}
}
if(!is_prime) continue;
// 反转数字
int reversed = 0, temp = num;
while(temp > 0) {
reversed = reversed * 10 + temp % 10;
temp /= 10;
}
// 判断反转数是否为素数
if(reversed < 2) continue;
bool reversed_prime = true;
for(int i = 2; i * i <= reversed; i++) {
if(reversed % i == 0) {
reversed_prime = false;
break;
}
}
if(reversed_prime) {
cout << num << endl;
}
}
return 0;
}
祝各位四级考生顺利通过(跳级)期待你们的好成绩