#include<cstdio>
using namespace std;
bool HW(int a){
int temp=0,k=a;
while(k){
temp=temp*10+k%10;
k/=10;
}
return a==temp;
}
int main(){
int a,b;
scanf("%d %d",&a,&b);
int p[100000001]={1,1};
for(int i=2;i<=b;++i){
for(int j=2;j<=i;++j){
if(!p[j]){
p[i*j]=1;
if(i%j==0) break;
}
}
}
for(int i=a&1?a:a+1;i<=b;i+=2){
if((!(i>11&&i<101||i>929&&i<10301||i>98689&&i<1003001))&&(!p[i])&&HW(i))
printf("%d\n",i);
else if(i>9989899) break;
}
return 0;
}
用欧拉筛做的,答案正确,但是所有点都MLE(125MB),请问问题出在什么地方?如何改进?