Перечислите все комбинации с заменой (или комбинации с повторением) размера k из набора из n элементов.
Комбинация с заменой является неупорядоченным мультимножеством, что каждый элемент в нем также находится в наборе из 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]