Dette er en rekursiv algoritme: Ved utførelsen av trinn 1 og 3, anvendes samme algoritme på nytt for −1. Hele prosessen avsluttes etter et begrenset antall trinn, fordi algoritmen etter et gitt antall forflytninger vil nå det siste trinnet gitt ved n = 1. Dette trinnet vil flytte en enkelt skive fra A til B.