Начать с рекуррентных соотношений в любом случае стоит. Получится из них что-то лучше или нет — другой вопрос.

Пусть мощность алфавита

(число цифр на выбор), и интересующее число мультимножеств из

цифр с не более чем

повторами каждой зовётся

. Теперь надо угадать, какие соотношения дадут пользу. Возьмём, например, алфавит из

цифры, предположив, что для менших мы всё знаем. Мы можем добавить к известным последовательностям из

цифр

новой цифры и получить последовательности из

. Если поинтересоваться новыми последовательностями одинаковой длины, получится

Если мы знаем

, этого соотношения хватит на вычисление всех

. Ну а

— это число
последовательностей мультимножеств из одной единицы длины

, в которых не больше

единиц. Таких существует ровно одна, если

, и ноль в противном случае, что можно кратко записать как
![$a(1,n,r) = [0\leqslant n\leqslant r]$ $a(1,n,r) = [0\leqslant n\leqslant r]$](https://dxdy-02.korotkov.co.uk/f/d/8/8/d8833f17a8383651dd24bf2b8f2ff3ec82.png)
. Всё, уже можно считать:

Если заметить, что

, вычисления даже немного упростятся.
А теперь, имея рекуррентные соотношения, можно поискать производящую функцию (видно, что можно брать её от двух переменных, зафиксировав

) и замкнутое выражение для

через неё.
Проверьте кто-нибудь мои цифорки.
-- Сб авг 23, 2014 19:58:47 --Для производящей функции

получим
