program batoh1;
{ Co udela tento program? Jak a proc funguje?
Odpovezte na tyto otazky a okomentujte kód. }
var celkem,pPredmetu,i:integer;
predmety:array[1..1000] of integer;
function rekurze(cPredmetu, zbyva : integer):integer;
begin
if (zbyva = 0) then rekurze:=1
else if (zbyva < 0) or (cPredmetu <= 0) then rekurze:=0
else
rekurze := rekurze(cPredmetu-1, zbyva) + rekurze(cPredmetu-1, zbyva - predmety[cPredmetu]);
end;
begin
read(celkem,pPredmetu);
for i:=1 to pPredmetu do
read(predmety[i]);
writeln(rekurze(pPredmetu,celkem));
end.
Kdo byste našel v nějakém z těchto programů chybu, dejte mi to vědět - můžete tak získat bonusové body (1 chyba ≈ 5 bodů). ;)