Przebieg algorytmu: Zapisz w postaci tablicy T liczbę monet potrzebną do wydania każdej kwoty od 0 do k. Pierwotnie (przed przeanalizowaniem jakiegokolwiek nominału) dla kwoty 0 liczba ta wynosi 0, a dla każdej kwoty większej od 0 – „nieskończoność”. Wczytaj nominał n. Dla każdej kwoty j od 0 do k-n wykonuj: sprawdź, czy wiadomo, iloma monetami dotychczas wczytanych nominałów można wydać kwotę j (tzn. czy element tablicy T[j] ma wartość „skończoną”); jeżeli tak, to sprawdź, czy dodając do nich jedną monetę nominału n, uzyskasz liczbę monet (T[j]+1) mniejszą, niż dotychczas wyznaczona dla kwoty j+n (T[j+n]); jeśli tak, to zapisz tę nową, mniejszą liczbę monet dla powiększonej kwoty (przypisz T[j]+1 do T[j+n]). Jeśli do wczytania pozostały jeszcze jakieś nominały, przejdź do kroku 2. Wynik dla kwoty k zapisany jest w T[k].
Dla podanego na początku artykułu przykładu zadziała następująco:
n T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 – 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 2 0 1 1 2 2 3 3 4 4 5 5 6 6 7 5 0 1 1 2 2 1 2 2 3 3 2 3 3 4
Przy odwrotnej kolejności wczytywania nominałów wyniki będą następujące:
n T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 – 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 5 0 ∞ ∞ ∞ ∞ 1 ∞ ∞ ∞ ∞ 2 ∞ ∞ ∞ 2 0 ∞ 1 ∞ 2 1 3 2 4 3 2 4 3 5 1 0 1 1 2 2 1 2 2 3 3 2 3 3 4