列出所有的与大小的替换(或它们的组合与重复)的组合ķ从一组Ñ元件。
带替换的组合是一个无序的多集,其中的每个元素也都在n个元素的集合中。注意:
- 它是无序的。因此,不应再打印先前打印的具有不同顺序的集。
- 这是一个多集。同一元素可以(但不是必须)出现多次。这是替换组合与普通组合之间的唯一区别。
- 该集合应恰好具有k个元素。
替代地,它也是包含k次n个元素中的每一个的多集的大小为k的子集。
输入应该是n和k,其中元素是前n个正整数或非负整数,或者是n个元素和k,可以假设n个元素彼此不同。
输出应该是所有组合的列表,并用给定集合中的大小k替换。您可以按任何顺序打印它们及其每个元素。
您不能使用内置替换生成组合的内置函数。但是您可以使用内建函数来生成常规组合,排列,元组等。
这是代码高尔夫,最短的代码胜利。
例
Input: 4 2
Output: [0 0] [0 1] [0 2] [0 3] [1 1] [1 2] [1 3] [2 2] [2 3] [3 3]