Logic, Analysis, and Computation

宠辱不惊 静观窗前花开花落 去留无意 闲看天上云卷云舒

导航

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

公告

如需转载, 请注明出处。

常用链接

留言簿

随笔分类

随笔档案

文章档案

I/O performance

搜索

最新评论

Programming note: 遍历所有的组合

今天做作业, 发现要遍历所有的组合, 自己完全没有头绪, 看来一些别人的代码, 总算搞明白了。

Theory: 2^n = C(n, 1) + C(n, 2) +  C(n, 3) + ... + C(n,n)

接下来, 就好办了。

for ( int i = 0; i < (1<<N); i++ ) {
    
    vector<int
> v;
    for ( int j = 0; j 
< N; j++ ) {
       if ( (1<<j) & i ) {
           v.push_back(j)
       }
    }
    //Dislay the Binomial coefficients
    for_each(v.begin(), v.end(), display);
    cout << endl;
 }

posted on 2009-05-25 22:13 小学毕业生 阅读(310) 评论(0)  编辑 收藏 引用 所属分类: Programming


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