# include <stdio.h>
# include <iostream>
# include <algorithm>
# include <string.h>
# include <math.h>
using namespace std;
bool book[100000001];
void su(int b)
{
memset(book,1,sizeof(book));
int n=sqrt(b);
book[1]=0;
for(int i=2;i<=n;i++)
{
if(book[i]==1)
{
for(int j=2;j<=b/i;j++)
{
book[i*j]=0;
}
}
}
}
int hui(int x)
{
int a=0,b=x,d;
while(x!=0)
{
d=x%10;
a=a*10+d;
x/=10;
}
if(a==b)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int a,b;
int i;
cin>>a>>b;
if(b>=10000000)
{
b=9999999;
}
su(b);
for(i=a;i<=b;i++)
{
if(hui(i)==1)
{
if(book[i]==1)
{
cout<<i<<endl;
}
}
}
}
俩个函数,其中素数筛法极大降低了时间运行;
然后先判断回文再判断素数又降低时间运行