1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Sub deplace(X, Z, n)
Dim Gr As String
Application.ScreenUpdating = True
tempo
Application.ScreenUpdating = False
Gr = X & Z
Select Case Gr
Case "AB"
lever_A n
deplmt 305, n
poser_B n
Case "AC"
lever_A n
deplmt 610, n
poser_C n
Case "BC"
lever_B n
deplmt 305, n
poser_C n
Case "BA"
lever_B n
deplmt -305, n
poser_A n
Case "CA"
lever_C n
deplmt -610, n
poser_A n
Case "CB"
lever_C n
deplmt -305, n
poser_B n
End Select
nbcoups cpt
End Sub
Function nbcoups(k)
Range("H3").Value = k
k = k + 1
End Function
Sub jouer(n)
HanoiJ n, "A", "B", "C"
End Sub
Function HanoiJ(n, X, Y, Z)
If n = 1 Then
deplace X, Z, n
Else
HanoiJ n - 1, X, Z, Y
deplace X, Z, n
HanoiJ n - 1, Y, X, Z
End If
End Function |
Partager