A232. 组合的输出
编程题
普及-
知识点
题目描述
排列与组合是常用的数学方法,其中组合就是从 $n$ 个元素中抽出 $r$ 个元素(不分顺序且 $r \le n$ ),我们可以简单地将 $n$ 个元素理解为自然数 $1$,$2$…,$n$,从中任取 $r$ 个数。
例如 $n = 5$ ,$r = 3$,所有组合为:
$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$
例如 $n = 5$ ,$r = 3$,所有组合为:
$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$
输入格式
一行两个自然数 $n$、$r$ ( $1 < n < 21$,$1 \le r \le n$ )。
输出格式
所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,所有的组合也按字典顺序。(注意空格在前面)
输入输出样例
输入 #1
5 3
输出 #1
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