LateNightPoet @ 2017-01-23 20:46:32
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define _3 reverse=p1*100+p2*10+p1
#define _5 reverse=p1*10000+p2*1000+p3*100+p2*10+p1
#define _7 reverse=p1*1000000+p2*100000+p3*10000+p4*1000+p3*100+p2*10+p1
int pr[1000001]={2,3,5,7,11};
int isPrime(int a)
{
int i,Sqrt=sqrt(a);
for(i=2;i<=Sqrt;++i)
if(a%i==0)
return 0;
return 1;
}
int main()
{
int reverse;
int index=5;
int i;
int p1,p2,p3,p4;
int s,e;
for(p1=1;p1<10;p1+=2)
for(p2=0;p2<10;++p2)
if(isPrime(_3))
pr[index++]=reverse;
for(p1=1;p1<10;p1+=2)
for(p2=0;p2<10;++p2)
for(p3=0;p3<10;++p3)
if(isPrime(_5))
pr[index++]=reverse;
for(p1=1;p1<10;p1+=2)
for(p2=0;p2<10;++p2)
for(p3=0;p3<10;++p3)
for(p4=0;p4<10;++p4)
if(isPrime(_7))
pr[index++]=reverse;
pr[index]=1<<30;
scanf("%d%d",&s,&e);
int start=0;
while(pr[start]<s) ++start;
for(i=start;pr[i]<=e;++i)
printf("%d\n",pr[i]);
return 0;
}