CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Tour de hanoï / JAVA

reteze
reteze
Niveau 8
25 novembre 2015 à 18:40:47

Bonjour,

https://fr.wikipedia.org/wiki/Tours_de_Hano%C3%AF

Moi et mon binôme on essaie de faire un programme inspiré de l'énigme "tour de hanoï" qui rend la position de n disques au mouvement i.

  • Sans récusivité , c'est ça le challenge en fait. Enfin un peu, ne serait que la fonction puissance
  • Et aussi, comme ce prof c'est pas vraiment le plus sympa, on est restreint aux fonctions de bases, genre multiplier, additionner , créer une liste , etc

____________________

  1. Le nombre de mouvement optimale se calcul par x = (2^n) - 1

Si i > x , on affiche un message d'erreur.

  1. Par contre trouver la position de tous les disques c'est une autre histoire. . .
  2. On a pu trouver après de longues heures à résoudre l'énigme sur simulateur que si le nombre de disque est pair le plus petit disque a un cycle régulier vers la droite (Tour A --> Tour B --> Tour C ---> Tour A) et vers la gauche si c'est impair.
  3. Aussi, le plus petit disque a un mouvement tous les 2 mouvements.
  4. Sinon on s'est penché sur le système binaire, car ça ressemble vraiment aux suites de coup du problème, sauf que l'on a 3 tours du coup 0 et 1, je sais pas vraiment comment faire.
  5. Mis de côté, mais je n'ai aucune idée de comment déclarer une variable en boucle
  6. Tous ce qui est au-dessus peut ne servir à rien

Et depuis on est bloqué.

Voilà , vous avez 4 heures . . .

Je rigole :-p
Mais de l'aide serait vraiment souhaitable, merci d'avance.

AlphaCygni
AlphaCygni
Niveau 10
25 novembre 2015 à 18:46:45

Ben, une solution bête serait de définir une structure de pile, et s'en servir pour implémenter l'algo récursif "à la main", sans utiliser de récursivité. Mais ça casse un peu l'intérêt du challenge.

J'aime bien l'idée de l'écriture binaire, un peu comme quand on veut implémenter l'exponentiation rapide de façon impérative. Y'a possiblement une astuce du même genre à faire.

reteze
reteze
Niveau 8
25 novembre 2015 à 19:11:45

Merci de ta réponse :-)

Aussi, je remarque que j'ai pas vraiment été clair sur l'énoncé
Ce qui a été demandé :

Java : Hanoï (***)

Rien de plus facile que de résoudre le problème des Tours de Hanoï en Java Faites les fonctions pour répondre immédiatement (c'est-à-dire sans calculer toute la suite des coups jusqu'au i-ième) ce qu'est le i-ième coup.

C'est à dire pouvoir rentrer les valeurs n (nombre de disques) et i (combien-t-ième mouvement), le programme répond quel est le disque qui se déplacer , Où il est et Où il va.
Du coup, une structure en pile qu'il faut tourner manuellement ne répond pas vraiment à la question je pense :/

Sinon , je ne sais pas ce qu'est "implémenter l'exponentiation rapide de façon impérative" mais ça a l'air très intéressant.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment