#include<iostream>
using namespace std;
int main(){
int a,b;
cin >> a >> b;
for(int i =a;i<=b;i++){
int g=0;
for(int k = 2;k<i;k++){
if(i%k==0)
g++;
}
if(g==0){
int n = i;
int sum =0;
while(n){
int m=n%10;
n/=10;
sum = sum*10+m;
}
if (sum==i)
cout << i <<endl;
}
}
return 0;
}
超时
参考答案:
#include<iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a == 5 && b >= 5) cout << 5 << endl;
if (a <= 7 && b >= 7) cout << 7 << endl;
if (a <= 11 && b >= 11) cout << 11 << endl;
for (int d1 = 1; d1 <= 9; d1 += 2) //!!!
for (int d2 = 0; d2 <= 9; d2++) { //!!!
int sum = d1 * 100 + d2 * 10 + d1; //huiwenshu panduanyiban
if (sum > b) return 0;
if (sum < a) continue; //!!!
int g = 0;
for (int i = 3; i * i <= sum; i++) //!!!
if (sum % i == 0) g++;
if (!g) cout << sum << endl;
}
for (int d1 = 1; d1 <= 9; d1 += 2) //!!!
for (int d2 = 0; d2 <= 9; d2++)
for (int d3 = 0; d3 <= 9; d3++) {
int sum = d1 * 10000 + d2 * 1000 + d3 * 100 + d2 * 10 + d1;//huiwenshu panduanyiban
if (sum > b) return 0;
if (sum < a) continue;
int g = 0;
for (int i = 3; i * i <= sum; i++)
if (sum % i == 0) g++;
if (!g) cout << sum << endl;
}
for (int d1 = 1; d1 <= 9; d1 += 2)
for (int d2 = 0; d2 <= 9; d2++)
for (int d3 = 0; d3 <= 9; d3++)
for (int d4 = 0; d4 <= 9; d4++) {
int sum = d1 * 1000000 + d2 * 100000 + d3 * 10000 + d4 * 1000 + d3 * 100 + d2 * 10 + d1;//huiwenshu panduanyiban
if (sum > b) return 0;
if (sum < a) continue;
int g = 0;
for (int i = 3; i * i <= sum; i++) // !!!
if (sum % i == 0) g++;
if (!g) cout << sum << endl;
}
return 0;
}
21.12.7