Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TOURS DE HANOI, (SIMPLE ET RAPIDE)


Information sur la source

Catégorie :Math & Algorithmes Classé sous : hanoi, tour, rapide, ergo5, nico1610 Niveau : Initié Date de création : 12/12/2006 Date de mise à jour : 12/12/2006 11:05:19 Vu : 3 064

Note :
4,5 / 10 - par 2 personnes
4,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


Description

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

  • 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)
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)

 

Historique

12 décembre 2006 11:05:20 :
Modification du niveau, supression de commentaire inutile !

Commentaires et avis

signaler à un administrateur
Commentaire de econs le 13/12/2006 11:16:07 administrateur CS

Etonnant. Je n'imaginais pas que ce genre de chose soit "algorithmable". Deux récursivités dans la même boucle, c'est pas courant.

signaler à un administrateur
Commentaire de vychnou le 14/12/2006 16:51:36

Fortuitement, on trouve la même chose sur wikipedia...

signaler à un administrateur
Commentaire de nico1610 le 14/12/2006 18:46:59

De toute évidance, oui.
Pour ma défence, je n'ai pas regardez sur wiki avant de me lancer la dessus !
c'est un simple algorithme bien connue qui méritait d'être cité ici, je suis tombé sur le programme des tours de hanoi (http://www.pythonfrance.com/codes/TOURS-HANOI_39867.aspx) lors de mon dernier passage, et j'ai donc décidé d'y mettre une source un peu plus rapide d'éxécution (et plus simple).
De plus du remarquera que ma fonction contien des paramtre optionel, qui ne figure pas sur wiki (bas oui je viens de vérifié la véracité de tes acusations.)

Pour finir je trouve ca bien DUR de mettre 1/10 uniquement parce que la source exsiste dèja !!
Devrai je te mettre aussi 1/10 à ta source (http://www.pythonfrance.com/codes/BROUILLEUR-TEXTE_40098.aspx) uniquement parce que l'on trouve ce truc partout sur internet ??

Allez restons coutois même si ta note est des plus méchantes !

signaler à un administrateur
Commentaire de vychnou le 14/12/2006 19:16:02

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.

signaler à un administrateur
Commentaire de vychnou le 14/12/2006 19:24:05

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

signaler à un administrateur
Commentaire de LouDumo le 21/05/2007 14:56:56

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 !!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Création de raccourci et lancement rapide pour un néophite [ par VickyLabRet ] Ma fille de 6ans allume déjà mon ordi et triffouille n'importe quoi.Ce qui l'intéresse c'est d'la musique.Je voudrais faire quelque cho


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.