http://acm.hdu.edu.cn/showproblem.php?pid=1431
先判断回文,用时较少,再判断素数。最重要的。。。9989899这个数以上都是合数,擦----
#include<stdio.h> #include<string.h> #include<math.h> int sushu(int a) { int i,j; for(i=2;i*i<=a;i++) if(a%i==0) return 0; return 1; } int huiwen(int a) { int i=a,s=0; while(i)s=s*10+i%10,i/=10; if(a==s)return 1; return 0; } int main() { int a,b,temp; while(scanf("%d%d",&a,&b)!=EOF) { if(a>b)temp=a,a=b,b=temp; for(;a<=b&&a<=9989899;a++) { if(huiwen(a)&&sushu(a)) printf("%d ",a); } printf(" "); } return 0; }