再谈组合

#include <iostream>
int num[20];
using namespace std;
int sum = 0;
void init(int nn, int mm)
{
    int i;
    if (mm == 0)//当mm==0时,num[1]~num[5]中存储的就是枚举的这五个数  
    {
        sum++;
        for (int i = 1; i <= 5; i++)
            cout << num[i] << " ";
        cout << endl;
        return;
    }
    for (int i = nn; i >= mm; i--)//枚举组合数  
    {
        num[mm] = i;
        //cout <<nn - 1 << " " << mm - 1 << endl;
        init(i - 1, mm - 1);
    }
}
int main()
{
    init(12, 5);//枚举组合数,在12个数中选5个数的组合  
    cout<<sum<<endl;
    return 0;
}

1-12中选7个数的组合,目前代码还看不懂,先码着

posted @ 2018-03-28 15:49  uzi2008  阅读(119)  评论(0编辑  收藏  举报