南阳oj 32 组合数

来源:互联网 发布:sql语句高级教程 编辑:程序博客网 时间:2024/06/05 11:46

组合数

描述
找出从自然数1、2、… 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。

输入
输入n、r。
输出
按特定顺序输出所有组合。
特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。
样例输入
5 3
样例输出
543
542
541
532
531
521
432
431
421
321
学习递归之路  加油

#include<iostream>#include<algorithm>using namespace std;int a[10];int n,m,c;void dfs(int n,int m){    for(int i=n;i>0;i--)    {        a[m]=i;        if(m>1)        {            dfs(i-1,m-1);        }        else        {            for(int i=c;i>0;i--)            {                cout<<a[i];            }            cout<<endl;        }    }}int main(){    int n,m;    cin>>n>>m;    c=m;    dfs(n,m);    return 0;}
0 0
原创粉丝点击