Hanoi
amin
-
lami20j Messages postés 21644 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21644 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
comment puis-je comprendre la tour de hanoi
nom: amin
bonjour a tous , je suis un etudiant en ingenierie des automatismes et informatique indistruelles. j'ai un petit probleme en programation spécialement en language C++. je suis vraiment besoin de votre aides concernant la compréhension d'une fonction que tout les devloppeurs en C++ conaissent c'est la fonction HANOI (fonction recurssive). merci a toute personne qui s'interesse a mon message.
nom: amin
bonjour a tous , je suis un etudiant en ingenierie des automatismes et informatique indistruelles. j'ai un petit probleme en programation spécialement en language C++. je suis vraiment besoin de votre aides concernant la compréhension d'une fonction que tout les devloppeurs en C++ conaissent c'est la fonction HANOI (fonction recurssive). merci a toute personne qui s'interesse a mon message.
3 réponses
Salut amin!
Moi j'étudie en informatique de gestion (2e année) et le langage que j'apprend est Java. Or la fct Hanoi semble être similaire à tous les langages, surtout si ce n'est que pour la compréhension...
Premièrement, au cas ou tu ne connaitrais pas les fameuses tour d'Hanoi, en voici un résumé:
Tu as 3 tours, qui sont équippées d'une tige au centre de chacune d'elle. La tige de l'une de ces trois tours contient 5 anneaux de diamètres différents (il peut y avoir plus ou moins que 5 anneaux, mais pour mon exemple, cinq suffiront).
Exemple de tours d'Hanoi: https://plus.maths.org/issue40/puzzle/Hanoi.jpg
Bref, le but ultime du jeu est de faire passer la tour de la première tige à une autre tige, mais avec les anneaux placés dans le même ordre. Autres contraintes: tu ne peux déplacer qu'un seul anneau à la fois et tu ne peux empiler un anneau sur un autre anneau de diamètre inférieur.
Donc tu dois être en mesure de comprendre la complexité du jeu lorsque plusieurs anneaux sont utilisés!
Pour réussir le problème, tu dois absolument avoir 3 tours, la troisième jouant le rôle de "variable temporaire" pour tes anneaux...et la récursivité du jeu d'Hanoi vient du fait que tu dois redéfinir la même structure de la tour avec elle-même (un peu comme les factorielles, si tu connais)
Sur ce, ma description d'Hanoi se termine, en espérant t'avoir aidé!
A+
Maxmethot
Moi j'étudie en informatique de gestion (2e année) et le langage que j'apprend est Java. Or la fct Hanoi semble être similaire à tous les langages, surtout si ce n'est que pour la compréhension...
Premièrement, au cas ou tu ne connaitrais pas les fameuses tour d'Hanoi, en voici un résumé:
Tu as 3 tours, qui sont équippées d'une tige au centre de chacune d'elle. La tige de l'une de ces trois tours contient 5 anneaux de diamètres différents (il peut y avoir plus ou moins que 5 anneaux, mais pour mon exemple, cinq suffiront).
Exemple de tours d'Hanoi: https://plus.maths.org/issue40/puzzle/Hanoi.jpg
Bref, le but ultime du jeu est de faire passer la tour de la première tige à une autre tige, mais avec les anneaux placés dans le même ordre. Autres contraintes: tu ne peux déplacer qu'un seul anneau à la fois et tu ne peux empiler un anneau sur un autre anneau de diamètre inférieur.
Donc tu dois être en mesure de comprendre la complexité du jeu lorsque plusieurs anneaux sont utilisés!
Pour réussir le problème, tu dois absolument avoir 3 tours, la troisième jouant le rôle de "variable temporaire" pour tes anneaux...et la récursivité du jeu d'Hanoi vient du fait que tu dois redéfinir la même structure de la tour avec elle-même (un peu comme les factorielles, si tu connais)
Sur ce, ma description d'Hanoi se termine, en espérant t'avoir aidé!
A+
Maxmethot