0
点赞
收藏
分享

微信扫一扫

hdu 1431 素数回文

码农K 2022-12-02 阅读 49





素数回文

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10778    Accepted Submission(s): 2504


Problem Description


xiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000);


 




Input


这里有许多组数据,每组包括两组数据a跟b。


 




Output


对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。


 




Sample Input


5 500


 




Sample Output


5 7 11 101 131 151 181 191 313 353 373 383


/*题解:
       事先打表判断出1~100000000之间的回文数最后一个是9989899
        */
#include<stdio.h>
int prime(int x)
{
    int i,j;
    for(i=2; i*i<=x; i++)
    if(x%i==0)
    return 0;
    return 1;
}
int huiwen(int x)
{
     int t,s=0;
     t=x;
     while(x)
     {
        s=s*10+x%10;
        x/=10;
     }
     if(t==s) return 1;
     return 0;
}

int main()
{
    int a,b,i;
    while(~scanf("%d %d",&a,&b))
    {
         for(i=a; i<=b&&i<=9989899; i++)
         {
              if(huiwen(i))
              {
                 if(prime(i))
                 printf("%d\n",i);
              }
         }
         printf("\n");
    }
   
    return 0;
}

举报

相关推荐

0 条评论