Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Различные суммы числа N через рекурсию

Автор: wEDOK 25.06.2008 19:30

очень бы хотелось получить вариант решения такой задачи(использование рекурсии ОБЯЗАТЕЛЬНО):

Для каждого положительного целого числа N будем рассматривать всевозможные его представления в виде суммы одного или нескольких слагаемых. найти все такие представления данного числа.
Например, для 4 таких представлений будет 5: 4, 3+1, 2+2, 2+1+1, 1+1+1+1

Автор: volvo 25.06.2008 19:59

Поиском не пользовался, конечно... Потому что вот тут: http://forum.pascal.net.ru/index.php?s=&showtopic=6327&view=findpost&p=47388 приводилось возможное решение...

Автор: wEDOK 25.06.2008 20:07

я пользовался! и где здесь рекурсия?

Автор: volvo 25.06.2008 20:19

procedure find(num,k,len: smallint);
var i: smallint;
begin
...
else begin
for i:=1 to k do
if num-i>=0 then begin
c[len]:=i;
find(num-i,i,len+1); { <--- Это что по-твоему ??? }
end;
end;
end;


Автор: wEDOK 25.06.2008 20:23

дада, я уже все сделал, извините, ничего не соображаю спустя день подготовки )))