我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

URAL_1352

Posted on 2008-12-10 23:48 Hero 阅读(119) 评论(0)  编辑 收藏 引用 所属分类: 代码如诗--ACM
 1 // 1352 C++ Accepted 0.031 121 KB URAL
 2 
 3 //打表的题目
 4 
 5 #include <stdio.h>
 6 #include <stdlib.h>
 7 #include <string.h>
 8 
 9 const int size = 40 ;
10 
11 int data[size] ;
12 
13 bool fisprime( int x ) 
14 {
15     if2 == x ) return true ;
16     if0 == (x&1) ) return false ;
17     forint i=3; i*i<=x; i+=2 )
18         if0 == x%i ) return false ;
19 
20     return true ;
21 }
22 
23 int main()
24 {
25     data[1= 2 ;        data[2= 3 ;
26     data[8= 31 ;        data[9= 61;
27     data[10= 89;        data[11= 107;
28     data[12= 127 ;    data[13= 521;
29     data[14= 607;        data[15= 1279;
30     data[16= 2203;    data[17= 2281;
31     data[18= 3217 ;    data[19= 4253 ;
32     data[20= 4423 ;    data[21= 9689 ;
33     data[22= 9941 ;    data[23= 11213;
34     data[24= 19937 ;    data[25=  21701;
35     data[26= 23209;        data[27= 44497 ;
36     data[28= 86243 ;        data[29= 110503 ;
37     data[30= 132049 ;        data[31= 216091 ;
38     data[32= 756839 ;        data[33= 859433 ;
39     data[34= 1257787 ;    data[35= 1398269 ;
40     data[36= 2976221 ;    data[37= 3021377 ;
41     data[38= 6972593 ;
42 
43     int cnt = 2 ;
44     unsigned pow2 = 8 ; int pow = 2 ;
45     unsigned curval ;
46     forint i=4; i<=30; i++ )
47     {
48         curval = (pow2 = pow2<<1- 1 ; pow++ ;
49         if( fisprime(curval) )
50         {
51             data[++cnt] = i ;
52         }
53         if( cnt >= 7 ) break ;
54     }
55 
56     int innum ; int inn ;
57     while( scanf( "%d"&innum ) != EOF ) 
58     {
59         while( innum -- ) 
60         {
61             scanf( "%d"&inn ) ;
62             printf( "%d\n", data[inn] ) ;
63         }
64     }
65 
66     return 0 ;
67 }

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理