88分,最后一个点MEL,球球带佬帮忙
#include<stdio.h>
#include<math.h>
int check[100000005],prime[100000000];//0是素数
int main()
{
int a,b,flag=0,x,y;
scanf("%d""%d",&a,&b);
int i,j,count=0;
for(i=2;i<=b;++i)
{
check[i]=0;
}
check[0]=check[1]=1;
for(i=2;i<=b;++i)//线性筛素数
{
if(check[i]==0)
prime[count++]=i;
for(j=0;i*prime[j]<=b&&j<count;++j)
{
check[i*prime[j]]=1;
}
}
for(i=a;i<=b;++i)
{
for(y=0,x=i;x>0;x=x/10)//判断是不是回文数
{
y=y*10+x%10;
}
if(i==y)
flag=1;
if(check[i]==0&&flag==1)
printf("%d\n",i);
flag=0;
}
return 0;
}