hdu 1431素数回文

http://acm.hdu.edu.cn/showproblem.php?pid=1431

View Code
 1 #include<stdio.h>
 2 #include<string.h>
 3 bool prime[10000002];//int一直超内存,wa好多次,改成bool就过了 
 4 int pos[664580];
 5 int num;
 6 void puan_prim()
 7 {
 8     memset(pos,-1,sizeof(pos));
 9     num=0;
10     memset(prime,false,sizeof(prime));
11     for(int i=2;i<=10000001;i++)
12     {
13         if(!prime[i])
14         {
15             num++;
16             pos[num]=i;
17         }
18         for(int j=1;j<=num&&i*pos[j]<=10000001;j++)
19         {
20             prime[i*pos[j]]=true;
21             if(i%pos[j]==0) break;
22         }
23     }
24 }
25 int main()
26 {
27     int n;
28     int b;
29     char str1[11];
30     char str2[11];
31     puan_prim();
32     while(~scanf("%d%d",&n,&b))
33     {
34     //printf("%d\n",num);
35         int i;
36         int len;
37         int start,end;
38         for(i=1;i<=num;i++)
39         if(pos[i]>=n) break;
40         start=i;
41         if(b<=9989899)
42         {
43             
44         
45         for(int i=start;pos[i]<=b&&pos[i]>0;i++)
46         {
47             sprintf(str1,"%d",pos[i]);
48             len=strlen(str1);
49             int flag=0;
50             for(int jj=0;jj<len;jj++)
51             {
52                 if(str1[jj]!=str1[len-jj-1])
53                 {
54                     flag=1;
55                     break;
56                 }
57             }
58              
59             
60             if(flag==0) printf("%s\n",str1);
61         }
62         }
63         else
64         {
65             
66             for(int i=start;pos[i]<=9989899&&pos[i]>0;i++)
67         {
68             sprintf(str1,"%d",pos[i]);
69             len=strlen(str1);
70             int flag=0;
71             for(int jj=0;jj<len;jj++)
72             {
73                 if(str1[jj]!=str1[len-jj-1])
74                 {
75                     flag=1;
76                     break;
77                 }
78             }
79              
80             
81             if(flag==0) printf("%s\n",str1);
82         }
83         }
84         printf("\n");
85     }
86 }

 

posted on 2012-08-26 19:36  仁者无敌8勇者无惧  阅读(184)  评论(0编辑  收藏  举报

导航