HDU 1431素数回文

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\n",a);
      }
      printf("\n");
   }
  return 0;
} 
View Code

 

posted @ 2013-08-20 23:32  执着追求的IT小小鸟  阅读(147)  评论(0编辑  收藏  举报