Hanoi.
Trivial:
Zadanie dla ICSP:
Ile ruchów potrzeba, aby rozwiązać wieżę Hanoi o n krążkach?
12 sie 13:22
ICSP: co to wieża Honoi
12 sie 13:25
Trivial:
Mamy trzy drążki: na jednym jest ułożonych n kółek o różnych średnicach (w kolejności od
największej średnicy na dole do najmniejszej na górze). Trzeba przełożyć wszystkie krążki na
inny drążek przy zasadach: nie można kłaść większego kółka na mniejsze i wolno przenosić tylko
jeden krążek na raz.
12 sie 13:29
ICSP: hmm pomyśle nad tym jak wrócę
12 sie 13:32
Trivial:
Tylko nie patrz na Wikipedii, bo jest tam rozwiązane.
12 sie 13:32
Pestek: Ktoś z was wybiera się na informatykę? Zdawaliście na maturze infę?
Nie miałeś w liceum ICSP wież Hanoi?
12 sie 16:06
ICSP: Niestety nie miałem. Jak na razie udało mi się zauważyć że dla 1 kółka wystarczy przełożyć raz
dwa dwóch kółek 3 razy a dla trzech kółek 13 razy. Mam rację?
12 sie 16:29
ICSP: tak więc
1,3,7,15 − to są 4 pierwsze najszybsze możliwości
różnica miedzy nimi to 2,4,8 czyli kolejne potęgi liczby 2
dla n=1 otrzymujemy 1
dla n = 2 otrzymujemy 3 = 1 + 21
dla n = 3 otrzymujemy 7 czyli 3 + 22
dla n = 4 otrzymuje 15 czyli 7 + 23
zakładam że będzie to ciąg rekurencyjny
a1 = 1
an = an−1 + 2n−1
Dobrze myślę?
12 sie 16:40
Jack:
podaj jeszcze wzór nierekurencyjny
12 sie 16:41
ICSP: 2n − 1?
12 sie 16:42
Jack:
troszkę głupie pytanie... masz rację. Myślałem że będziesz musiał przekształcić wzór
rekurencyjny
12 sie 16:47
ICSP: nie umiem przekształcać wzoru rekurencyjnego. Muszę zgadywać
12 sie 16:49
Trivial:
Wzór rekurencyjny zły, jawny dobrze.

Sposób rozwiązania:
Aby przenieść n elementów musimy najpierw przenieść n−1 górnych elementów na drugi drążek,
potem ostatni element na trzeci krążek i znów n−1 elementów na trzeci krążek.
Mamy więc:
H
n = H
n−1 + 1 + H
n−1
H
n = 1 + 2H
n−1, przy warunku początkowym: H
1 = 1.
Rozwijamy rekurencję i gotowe:
H
n = 1 + 2(1 + 2H
n−2) = 1 + 2 + 2
2H
n−2 = 1 + 2 + 2
2 + 2
3H
n−3 =
= 1 + 2 + 2
2 + 2
3 + ... + 2
k−1 + 2
kH
n−k.
Niech n−k = 1, wtedy:
| | 2n−1+1−1 | |
Hn = 1 + 2 + 22 + 23 + ... + 2n−2 + 2n−1H1 = |
| = 2n−1. |
| | 2−1 | |
12 sie 17:44
Trivial:
na trzeci
drążek*
12 sie 17:45
Trivial:
Tzn. Twój wzór rekurencyjny jest OK, tyle tylko, że wziął się trochę z kosmosu.
12 sie 17:57
tn: @Trivial zapodaje zadania informatyczne
12 sie 18:31
Trivial:
Czy ja wiem. Problem wież Hanoi to zagadnienie matematyki dyskretnej.
12 sie 18:37
tn: ale popularne w informatyce
12 sie 21:12
ICSP: trochę z kosmosu?
Po dogłębnej analizie problemu zadania udało mi się dojść do wniosków z których wyłonił się
właśnie ten genialny wzór.
12 sie 22:18