Ханойские башни

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Игорь()
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 27.02.2004 (Пт) 22:40
Откуда: Киев

Ханойские башни

Сообщение Игорь() » 27.02.2004 (Пт) 22:58

Господа программисты, помогите решить задачу!
Я начинающий и не могу решить эту задачу про Ханойские башни, поэтому обращаюсь к более опытным программистам.
Задача решается с помощью рекурсии. Имеется 3 колышка, на первый колышек нанизаны, допустим 5 дисков,и нанизаны они так, что из размеры последовательно уменьшаются к вершине. Нужно переместить все диски с первого колышка на второй колышек при условии, что каждый раз берётся только по одному диску и больший диск никогда не должен находиться над меньшим диском. Временно диски можно размещать на третьем колышке.
Если это возможно, то решить задачу без использования массивов.
Можно на VB.6 или VB.Net

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.02.2004 (Сб) 11:17

Код: Выделить всё
Option Explicit

Private Sub Form_Load()
  Me.AutoRedraw = True
  DoMove 3, 1, 2, 3
End Sub

Private Function DoMove(ByVal n As Long, ByVal s1 As Long, ByVal s2 As Long, ByVal s3 As Long) As Boolean
  If n > 0 Then
    DoMove n - 1, s1, s3, s2
    Me.Print "Двигаем со столбика " & s1 & " на столбик " & s2
    DoMove n - 1, s3, s2, s1
  End If
End Function


ЗЫ: яндекс рулит :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Игорь()
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 27.02.2004 (Пт) 22:40
Откуда: Киев

Сообщение Игорь() » 28.02.2004 (Сб) 23:34

Спасибо!!!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList