#include<stdio.h>
#include<math.h>//由Singingyuna代码稍加优化而来
int pr (int n)
{
int j;
for(j=3;j<=sqrt(n);j++) //sqrt 是确认是否为质数的一种优化
{
if(n%j==0)
return 0;
}
return 1;
}
int pa (int n)
{
int m=0,k=n;
while(k!=0)
{
m=m*10+k%10; //回文质数反转还是回文质数
k=k/10;
}
return m==n;
}
int main() //这道题数据太大,必须要想办法优化
{
int a,b,i;
scanf("%d %d",&a,&b);
if(a%2==0) //除2外的偶数不可能是质数,题目的取值范围为[5,]
a++; // 所以如果a是偶数,直接让它变奇数 *第一个优化
if(b>=9989899) //最大的回文质数
b=9989899;
for(i=a;i<=b;i+=2) //数除2外不可能是质数,所以直接i+=2让数全部为奇数
{
if(pa(i)&&pr(i)) //pa函数判断回文,pr函数判断质数
printf("%d\n",i);
}
return 0;
}
不知道这算不算原创,管理大大一定要看我的标题啊QAQ