看过别人的,才知道最大回文到9989899.。。。
#include <iostream>
#include<cmath>
using namespace std;
bool f[9989900];
bool prime(int n)
{
for(int i=2;i<=(int)sqrt(n*1.0);i++)
if(n%i==0)
return 0;
return 1;
}
bool huiwei(int n)
{
int x=n;
int y=0;
while(x)
{
y=y*10+x%10;
x/=10;
}
if(y==n)
return 1;
return 0;
}
void judge()
{
for(int i=5;i<9989900;i++)
if(huiwei(i)&&prime(i))
f[i]=1;
else f[i]=0;
}
int main()
{
judge();
int a,b;
while(scanf("%d %d",&a,&b)==2)
{
for(int i=a;i<=(b>9989899?9989899:b);i++)
if(f[i])
printf("%d\n",i);
printf("\n");
}
return 0;
}