Условие
Представляя разбиения как неубывающие последовательности,
перечислить их в лексикографическом порядке. Пример для
n=4:
1+1+1+1,
1+1+2,
1+3,
2+2,
4.
Подсказка
Последний член увеличить нельзя, а предпоследний — можно;
если после увеличения на
1 предпоследнего члена за
счёт последнего нарушится возрастание, то из двух членов
надо сделать один, если нет, то последний член надо разбить
на слагаемые, равные предыдущему, и остаток, не меньший
его.
Источники и прецеденты использования
|
книга |
Автор |
А.Шень |
Название |
Программирование: теоремы и задачи |
Издательство |
МЦНМО |
Издание |
второе |
Год издания |
2004 |
глава |
Номер |
2 |
Название |
Порождение комбинаторных объектов |
параграф |
Номер |
4 |
Название |
Разбиения |
задача |
Номер |
2.4.3 |