首页 > 代码库 > 组合数
组合数
组合数
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
找出从自然数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 <cmath>
#include <cstdio>
#include <iostream>
#include <cstring>
05.#include <algorithm>
06.using namespace std;
07.int num[12],a,b;
08.void dfs(int y,int r)
09.{int i,j;
10.if(r==0)
11.{
12.for(i=b;i>=1;i--)
13.cout<<num[i];
14.cout<<endl;
15.}
16.else
17.{
18.for(i=y;i>=r;i--)
19.{
20.num[r]=i;
21.dfs(i-1,r-1);
22.}
23.}
24.}
25.int main()
26.{
27.while(cin>>a>>b)
28.dfs(a,b);
29.}
组合数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。