Комбинации с повторениями C #
Мне нужна помощь с комбинациями с повторениями. Искал по всей сети, и хотя я нашел несколько примеров, я не могу понять их полностью. Моя цель проста - функция (CombitionsWithRepetiion) получает список с элементами (в данном случае целочисленные значения) и длиной (которая показывает, какой длины может быть каждая комбинация) и возвращает список, содержащий результат.
List<int> input = new List<int>() {1, 2, 3}
CombinationsWithRepetition(input, length);
результат:
длина = 1: 1, 2, 3
длина = 2: 11,12,13,21,22,23,31,32,33
длина = 3: 111 112 ...
Я надеюсь, что кто-то поможет мне и спасибо заранее!