Tours de hanoi, (simple et rapide)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 22 614 fois - Téléchargée 25 fois

Contenu du snippet

Pourquoi faire une interface compliquée , et plein de trucs qui ralentissent la mémoire du pc, quand cinqs lignes suffise ??

C'est pour cella que je vous dévoile ici, la résolution de ce fameu casse tête en seulement cinqs lignes de code !

Attention, n'exercez pas les talents de cette algorithmes sur trop de récurences à la fois.
Rien que pour 15 malheureux anneaux, il faut déja 32767 déplacement et pour 16 pas moins de 65535.
ATTENTION AU CPU QUI SURCHAUFFE !

Source / Exemple :


def hanoi(n,a=1,b=2,c=3):
    if (n > 0):
        hanoi(n-1,a,c,b)
        print "Déplace ",a,"sur",c
        hanoi(n-1,b,a,c)

Conclusion :


Ils suffit alors de tapé dans IDLE terminal : (ici pour 3 anneaux au départ )
>>> hanoi(3)

A voir également

Ajouter un commentaire

Commentaires

-
Cacacsvsbssbzsk
idirovitch
Messages postés
5
Date d'inscription
mercredi 23 décembre 2009
Statut
Membre
Dernière intervention
13 juin 2011
-
es que vous pouvez decrire ce probleme
LouDumo
Messages postés
4
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
21 mai 2007
-
Moi je ne cote pas.
Bravo pour l'algorithme, mais est-ce bien celui qui résoud le problème avec le moins de déplacements possibles ?
Si c'est le cas, bravo ! 20/10 !!!
Mais je veux tempérer tout ceci pour cette orthographe dégueulasse, qui rend cet article quasiment illisible.
Franchement, si vous ne savez pas écrire sans fautes, abstenez-vous d'écrire, on préfère !!
cs_vychnou
Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
11 mai 2009
11 -
Evidemment, si je notais la source en elle même, je mettrais 10, cet algorithme est d'une grande complexité pour 4 lignes de code!
Mets un algorithme que tu auras réalisé d'aussi bonne facture, je mettrais 10 avec plaisir
cs_vychnou
Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
11 mai 2009
11 -
Je t'ai mis 1 parce que tu dis "C'est pour cella que je vous dévoile ici" alors que ce n'est qu'une recopie insctruction après instruction d'un algorithme...
Je ne pense pas que tu trouveras sur le net l'algorithme de brouillage que j'ai mis en place, avec une interface graphique en tk, l'utilisation d'expressions régulières etc... sur un nombre de lignes restreint. Peut être des programmes effectuant le traitement existent déja (si tu le dis), mais surement pas le même programme que j'aurais recopié de je ne sais où... la note de 1 n'est pas une offense à tes talents de programmeur étant donné que ces lignes ne sont pas de toi.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.