Proste zagadnienie plecakowe tym rozni sie od NP - zupelnego, ze ciag wartosci ai (i= 1,...,n) jest tutaj superrosnacy, tzn. ai > a1 + ... + ai-1. Oznacza to, ze w wektorze dwojkowym M, element mn = 1, jezeli C >= an.
Ponizej zalanczam algorytm rozwiazania prostego zagadnienia plecakowego. Problem ten nazywany jest skrotowo snap(C,A).
begin
aaaM : = 0;
aaafor i : = n downto 1 do
aaaaaaabegin
aaaaaaaaaaaaif C > = ai then mi : = 1 else mi : = 0;
aaaaaaaaaaaaC : = C - ai * mi ;
aaaaaaaaaaaaM = M + mi
aaaaaaaend;
aaaif C = 0 then snap : = M else "Rozwiazanie nie istnieje"
end.