Ханойская башня
От: Evelyn Россия  
Дата: 29.01.06 19:39
Оценка:
Не могу найти алгоритм ханойской башни для турбо паскаля. Помогите пожалуйста, в программирование вообще мало понимаю....
Re: Ханойская башня
От: Аноним  
Дата: 29.01.06 20:34
Оценка:
ИМХО программирование тут ни при чём — математикообразные доводы, причём элементарные.
Re: Всё-таки объясню.
От: Аноним  
Дата: 29.01.06 20:53
Оценка:
Может, нематематическому складу ума это кажется неэлементарным...

Задача о ханойской башне, насколько я помню, заключается в следующем. Есть 3 шпиля, на которых могут располагаться диски. В начальный момент на шпиле 1 расположены N дисков в порядке убывания размера (снизу вверх), на остальных ничего нет. Задача заключается в перемещении всех дисков на шпиль 2 за наименьшее количество ходов, где один ход заключается в перемещении одного диска с одного шпиля на другой, причём нельзя класть диск большего размера на диск меньшего размера.

Известно, что минимальное требуемое количество ходов равно 2^N-1 (доказательство оставлю истинным математикам).

Алгоритм, требующий такое число ходов, строится по индукции. Для N=1 он очевиден (один ход — просто перекладываем диск со шпиля 1 на шпиль 2). Если алгоритм для N=K построен, то алгоритм для N=K+1 строим так: сначала с помощью алгоритма для N=K перекладываем верхние K дисков со шпиля 1 на шпиль 3; затем перекладываем оставшийся диск со шпиля 1 на шпиль 2; наконец, опять с помощью алгоритма для N=K перекладываем диски со шпиля 3 на шпиль 2.

(Для N=1 требуется один ход. Если для N=K требуется M ходов, то для N=K+1 требуется 2M+1 ходов. Индукцией легко проверить, что для N=K требуется 2^K-1 ходов.)
Re[2]: Всё-таки объясню.
От: Evelyn Россия  
Дата: 29.01.06 22:39
Оценка:
Уважаемый Аноним... я только 1 курс мат-меха... и я вообще не понимаю как строить алгоритмы, ибо в школе этому не учили...
Re[3]: Всё-таки объясню.
От: shank  
Дата: 29.01.06 23:14
Оценка:
Здравствуйте, Evelyn, Вы писали:

E>Уважаемый Аноним... я только 1 курс мат-меха... и я вообще не понимаю как строить алгоритмы, ибо в школе этому не учили...


http://algolist.manual.ru/maths/combinat/hanoi.php

http://algolist.manual.ru/maths/combinat/hanoi2.txt
Re: Ханойская башня
От: ilnar Россия  
Дата: 30.01.06 06:39
Оценка:
Здравствуйте, Evelyn, Вы писали:

E>Не могу найти алгоритм ханойской башни для турбо паскаля. Помогите пожалуйста, в программирование вообще мало понимаю....


ну а чего тогда полез в паскаль?
Re[2]: Ханойская башня
От: Evelyn Россия  
Дата: 30.01.06 09:18
Оценка:
Здравствуйте, ilnar, Вы писали:

I>ну а чего тогда полез в паскаль?



Во-первых полезЛА.
А во-вторых, я предметы себе не выбираю в универе, что написано в расписании, то и надо учить...



А shank ОГРОМНЫЙ ПСИБ))))))))
Re[3]: Ханойская башня
От: ilnar Россия  
Дата: 30.01.06 09:21
Оценка:
Здравствуйте, Evelyn, Вы писали:

E>Здравствуйте, ilnar, Вы писали:


I>>ну а чего тогда полез в паскаль?



E>Во-первых полезЛА.

извиняюсь, обознался

E>А во-вторых, я предметы себе не выбираю в универе, что написано в расписании, то и надо учить...

а программирование знать надо, даже математику!
Re[4]: Кстати, там очевидная опечатка.
От: Аноним  
Дата: 30.01.06 19:18
Оценка:
(Почему-то минус единица в показателе.)
Re[3]: Ответ...
От: Аноним  
Дата: 30.01.06 19:36
Оценка:
Здравствуйте, Evelyn, Вы писали:

E>Уважаемый Аноним... я только 1 курс мат-меха... и я вообще не понимаю как строить алгоритмы, ибо в школе этому не учили...


Думаю, вас этому должны учить сейчас...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.