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.