Naturalnym sposobem uniknięcia kolejnych wywołań rekurencyjnych jest tablicowanie wyników, co zostało zasugerowane w podanym niekompletnym algorytmie. Jeśli wartości wynik(0), wynik(1),...,wynik(i – 1) przechowywane są w komórkach W[0], W[1],...,W[i–1] tablicy W, to wartość wynik(i) możemy wyznaczyć jako W[i–3]+W[i–1]+1 dla i parzystych oraz
W[i] mod 7 dla i nieparzystych. Aby wyznaczoną wartość zapamiętać w odpowiedniej komórce tablicy W, użyjemy powyższych wyrażeń do uzupełnienia instrukcji podstawienia
w podanym algorytmie.
Zmienna max_wart, jak wskazuje nazwa, może być użyta do przechowywania największej
wyznaczonej dotychczas wartości funkcji wynik, zatem aktualizujemy ją zawsze, gdy
W[i]>max_wart.