Reiks的技术博客

C/C++/STL/Algorithm/D3D
posts - 17, comments - 2, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

组合数

Posted on 2009-08-28 09:16 reiks 阅读(213) 评论(0)  编辑 收藏 引用 所属分类: 算法与数据结构
#include <stdio.h>
#include 
<assert.h>
#include 
<malloc.h>

void c(int n)
{
    
extern void _c(int n, int cur, int *a, int now);
    
int *a;
    a 
= (int *) malloc(n * sizeof(int));
    assert(a 
!= NULL);
    _c(n, 
0, a, 1);
    free(a);
}


void _c(int n, int cur, int *a, int now)
{
    
int i,j;
    
for (i=now; i<=n; i++)
    
{
        a[cur] 
= i;
        
        
for (j=0; j<=cur; j++)
        
{
            printf(
"%d ", a[j]);
        }

        printf(
"\n");
        
        _c(n, cur
+1, a, i+1);
    }

}


int main()
{
    c(
3);
}

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