indukcja matematyczna
minnie: Wieże z Hanoi. Na desce znajdują się 3 pręty, na jednym z nich znajduje się
n krążków o różnych średnicach ułożonych w kolejności średnic od największego na dole do
najmniejszego na górze. Należy przenieść całą wieże na drugi pręt korzystając z trzeciego w ten
sposób, ze w jednym ruchu można przenieść tylko jeden krążek i nie można położyć większego
na mniejszym. Jaka jest najmniejsza ilość ruchów, przy której można to uczynić?
4 paź 17:04
123: 2n − 1
4 paź 17:16
Trivial:
Klasyczny problem, który łatwo rozwiązać rekurencją. Najpierw warunek początkowy. Dla n = 1
musimy wykonać tylko jeden ruch aby przenieść krążek.
a1 = 1
Dla n krążków potrzebujemy tyle ruchów:
1. Przenosimy n−1 górnych krążków na trzeci pręt.
2. Przenosimy ostatni krążek na drugi pręt.
3. Przenosimy n−1 krążków z trzeciego pręta na drugi.
Zatem:
an = an−1 + 1 + an−1 = 2an−1 + 1.
Trzeba rozwiązać to równanie rekurencyjne. Można to zrobić np. tak:
an = 2an−1 + 1
= 2(2an−2 + 1) + 1
= 22an−2 + 2 + 1
= 23an−3 + 22 + 2 + 1
= 24an−4 + 23 + 22 + 2 + 1
= 2kan−k + ∑m=0..k−1 2m
Podstawiamy k=n−1 i mamy:
an = 2n−1*a1 + ∑m=0..n−2 2m
= 2n−1 + 2n−1 − 1
= 2n − 1.
4 paź 17:24