54
правки
Изменения
м
→Разбиение на слагаемые: поправлен стиль псевдокода
== Разбиение на слагаемые ==
Рассмотрим алгоритм получения номера , в лексикографическом порядке данного разбиения , по данному разбиению на слагаемые числа <tex>N</tex>. Нужно помнить о том, что разбиения, отличающиеся только порядком слагаемых, считаются одинаковыми. Из всех разбиений, получаемых перестановками слагаемых, выберем то, где слагаемые упорядочены лексикографически, и будем строить его.
*<tex>\mathtt{numOfPart}</tex> {{---}} искомый номер разбиения
'''int''' part2num(part: '''list<int>'''part): '''int''' numOfPart = 0, last = 0, sum = 0
'''for''' i = 1 '''to''' part.size
'''for''' j = last '''to''' part[i] - 1 <font color=green>// перебираем все элементы, лексикографически меньшие нашего, но большие или равные предыдущего</font>