末尾再帰版,再帰(メモ化)版のロジックを実装