关于用C语言简单实现组合

来源:互联网 发布:百度云mac怎么用 编辑:程序博客网 时间:2024/05/18 03:56

这个其实很简单,就是把从N个数取出M个数,每取一个数,就从剩余的N-1个数取剩余的M-1个数,当去完的时候输出结果就行了,这个问题用递归很好解决。下面是代码。

#include <stdio.h>#define MAXIN 10int a[MAXIN]={0};int counts=0;void comb(int n, int m){    if (m<=0)    {        for (int j=1;j<=counts;j++)                printf("%d ",a[j]);            printf("\n");        return;    }    for (int i=n;i>=m;i--)    {        a[m]=i;        comb(i-1,m-1);    }}int main(){    int n, m;    scanf("%d%d", &n, &m);    counts=m;    comb(n, m);    return 0;}
原创粉丝点击