组合(n选k问题)

#include "iostream.h"
#include "string.h"
int a[100];
void dfs(int n,int k)
{
    if (k==0)
    {
        for (int i=1;i<=a[0];i++)
             cout<<a[i]<<'\t';
        cout<<endl;return;
    }
    for (int i=n;i>=k;i--)
    {
        a[k]=i;
        dfs(i-1,k-1);
    }
}
void main()
{
    memset(a,0,sizeof(a));
    a[0]=3;
    dfs(5,3);
}

 

posted on 2017-03-13 12:59  ewitt  阅读(136)  评论(0编辑  收藏  举报

导航