Łamigłówka Wież Hanoi polega na tym, by ułożone w wieżę krążki o różnej średnicy przenieść pojedynczo z pierwszego słupka na trzeci, tak aby odtworzyć na nim wieżę – przy czym należy robić to według określonych zasad. Zagadka ta oparta jest na starej legendzie, według której buddyjscy mnisi ze świątyni Brahmy mają w ten sposób przenieść wieżę składającą się aż z krążków, czyli w celu rozwiązania problemu muszą wykonać aż ruchów. W e‑materiale Zagadka Wież HanoiZagadka Wież Hanoi przedstawiliśmy najważniejsze informacje dot. tego zagadnienia.
W tym e‑materiale poznasz implementację algorytmu rozwiązywania tego problemu w języku Python.
Więcej przykładów, ćwiczeń i rozwiązań znajdziesz w e‑materiale Zagadka Wież Hanoi – zadania maturalneZagadka Wież Hanoi – zadania maturalne.
Ciekawi cię, jak wyglądają implementacje w innych językach programowania? Możesz się z nimi zapoznać w dwóch pozostałych lekcjach z tej serii:
Zagadka Wież Hanoi w języku C++Zagadka Wież Hanoi w języku C++,
Zagadka Wież Hanoi w języku JavaZagadka Wież Hanoi w języku Java.
O tym, jak zagadnienie rekurencji wyjaśnia matematyka, przeczytasz w e‑materiałach:
Ciąg określony rekurencyjnieCiąg określony rekurencyjnie,
Ciąg geometryczny określony rekurencyjnieCiąg geometryczny określony rekurencyjnie,
Wzór ogólny ciągu określonego rekurencyjnieWzór ogólny ciągu określonego rekurencyjnie,
Ciąg arytmetyczny określony wzorem rekurencyjnymCiąg arytmetyczny określony wzorem rekurencyjnym.
Przypomnisz sobie algorytm rozwiązania zagadki Wież Hanoi.
Przeanalizujesz implementację tego algorytmu w języku Python.
Rozwiążesz samodzielnie zadania związane z zagadką Wież Hanoi.