Изменения

Перейти к: навигация, поиск

Получение следующего объекта

48 байт убрано, 12:18, 23 ноября 2014
Специализация алгоритма для генерации следующего разбиения на слагаемые
<code>
<font color=green>// <tex>b</tex> {{---}} список, содержащий разбиение данного числа,<tex>length</tex>{{---}} его размер.</font>
'''function''' nextPartition(var b: list<int>): list<int>; '''var''' i : '''integer;'''
'''begin'''
b[b.size] := b[b.size] - 1;- b[b.size - 1] := b[b.size - 1] + 1;+
'''if''' b[b.size - 1] > b[b.size] '''then'''
'''begin'''
b[b.size - 1] := b[b.size - 1] + b[b.size]; b.pop();
'''end'''
'''else'''
'''while''' b[b.size - 1] * 2 <= b[b.size] '''do'''
'''begin'''
b.add(b[b.size] - b[b.size - 1]); b[b.size - 1] := b[b.size - 2]; '''end;''' '''end;''' '''return''' b; '''end;'''
</code>
Анонимный участник

Навигация