我希望你是我独家记忆

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

HLOJ_1035

Posted on 2009-09-09 12:55 Hero 阅读(3268) 评论(0)  编辑 收藏 引用 所属分类: Algorithm
 1 //HLOJ 1035 Accepted 0 196 469
 2 
 3 //多重幂计数问题 -- catalan数
 4 
 5 /*
 6 Cn =    (2*n)!
 7       ------------   
 8        (n+1)!(n)! 
 9 */
10 #include <iostream>
11 using namespace std ;
12 
13 int inn ;
14 
15 unsigned __int64 Catalan( int n )
16 {
17     unsigned __int64 reval = 1 ;
18 
19     int num[100] ;
20     memset( num, 0sizeof(num) ) ;
21 
22     forint i=n+1; i<=2*n; i++ )
23     {
24         reval = reval * i ;
25         forint j=2; j<=n+1; j++ )
26         {
27             if0 == num[j] && 0 == reval % j )
28             {
29                 reval = reval / j ;
30                 num[j] = 1 ;
31             }
32         }
33     }
34 
35     return reval ;
36 }
37 
38 int main()
39 {
40     while( cin >> inn )
41     {
42         cout << Catalan( inn-1 ) << endl ;
43     }
44 
45     return 0 ;
46 }

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