Комбинации с повторениями 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 ...

Я надеюсь, что кто-то поможет мне и спасибо заранее!

Ответы на вопрос(2)

Ваш ответ на вопрос