C: 输出结果(Python)
发布时间
阅读量:
阅读量
题目描述
排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r<=n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。
现要求你用递归的方法输出所有组合。
例如n=5,r=3,所有组合为:
l 2 3 l 2 4 1 2 5 l 3 4 l 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5
输入
两个自然数n与r构成一行(1<n<21,1≤r≤n)。
小标题
所有可能的组合均以独立行的形式呈现,每行中的元素依照从小到大的顺序排列,每个元素占据三个字符的宽度,且所有组合整体按照字典序进行排列。
样例输入 Copy
5 3
样例输出 Copy
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
此题目与A题属于相同类型,但在此基础上增加了一些限定条件。具体包括:
① 对输出数字的数量有所限制;
② 组合必须形成一个递增的序列。
需要调整的部分主要在于遍历的逻辑条件,由于序列必须递增,因此每次遍历应从比前
全部评论 (0)
还没有任何评论哟~
