• Aucun résultat trouvé

Les tours de Hanoï

N/A
N/A
Protected

Academic year: 2022

Partager "Les tours de Hanoï"

Copied!
2
0
0

Texte intégral

(1)

Les tours de Hanoï

Complexité

Quel est le nombre de déplacements de disques ? Réponse

Le nombre de déplacements de disques est

2n−1 et on ne peut trouver mieux.

Démonstration par récurrence surn: u1= 1, etun+1= 2.un+ 1.

Remarque

Il existe un programme itératif très simple...

Deux programmes

Un premier programme récursif très simple, et un deuxième utilisant une pile.

1

(2)

# programme récursif

def hanoi_rec(n, depart, aux, arrivee):

if n > 0:

hanoi_rec(n-1, depart, arrivee, aux)

print('déplacer le disque ', n , ' de ', depart, ' vers ', arrivee)

hanoi_rec(n-1, aux, depart, arrivee)

# programme utilisant une pile

def hanoi(n, depart, aux, arrivee):

pile = [[n, depart, aux, arrivee]]

while pile != []:

[k, a, b, c] = pile.pop() if k > 1:

pile.append([k-1, b, a, c]) pile.append([-k, a, b, c]) pile.append([k-1, a, c, b]) else:

print('déplacer le disque ',abs(k) , ' de ', a, ' vers ', c)

1

Références

Documents relatifs

Expliciter cette proposition : « Pour déplacer les n disques, il faudra nécessairement être dans cette situation : tous les disques sont empilés sur le socle n° B sauf le plus

Pour ça, nous organisons des évé- nements tout au long de l’année pour que tu apprennes à connaître les autres étudiants, notre magnifique ville de Tours et le réseau

2- on ne peut déplacer un disque d’un socle vers un autre socle que si le dernier est vide ou si son disque le plus élevé - son sommet - est plus grand que le disque déplacé..

Au départ du jeu, tous les anneaux sont disposés les uns sur les autres sur l’un des piquets, par exemple le A, en formant une tour de forme conique : chaque anneau (sauf celui à

hypersignal en pondération T2 et en diffusion , maximal au centre des nodules traduisant la transformation myxoïde du noyau fibreux... hypersignal en pondération T2 et en

On désigne par 1, 2, et 3 les trois piquets, et on peut faire la remarque suivante : si l'on considère les suites de mouvements (correspondant à l'algorithme standard) qui transfèrent

En fait, c'est plutôt sur l'existence d'une solution purement itérative, ou même simplement sur la signification d'une telle dénomination, qu'il faudrait s'interroger pour le

Supposons qu'il faille 1 seconde pour déplacer un disque (c'est peu, mais supposons…), au bout de Supposons qu'il faille 1 seconde pour déplacer un disque (c'est peu, mais