Création
d'entreprise
Posez votre question Signaler

Algorithme de jeux tour de hanoi

besma+m - Dernière réponse le 14 févr. 2009 à 11:19
Bonjour,
comment on taduire le jeux de tour de hanoi en langage C++
Lire la suite 

Algorithme de jeux tour de hanoi »

1 réponses
Réponse
+12
moins plus
Salut,

Voici en C, mais la fonction tu peux l'utiliser aussi en C++
#include<stdio.h>

void tourhanoi(int n,char depart,char base,
               char intermediaire,long unsigned int *occur);

int main()
{
  int n,i;
  long unsigned int occur=0;
  printf("Entrez le nombre de disques : ");
  scanf("%d",&n);
  tourhanoi(n,'A','B','C',&occur);
  printf("%ld déplacements\n",occur);
  return 0;
}

void tourhanoi(int n,char depart,char base,
               char intermediaire,long unsigned int *occur){
  if(n>0){
    ++*occur;
    tourhanoi(n-1,depart,intermediaire,base,occur);
    printf("%c -> %c\n",depart,base);
    tourhanoi(n-1,intermediaire,base,depart,occur);
  }
}
Résultat Tu peux le tester ici http://pagesperso-orange.fr/jeux.lulu/html/hanoi/hanoi1.htm


lami20j@debian:~/trash/c_exercices$ gcc tourhanoi.c
lami20j@debian:~/trash/c_exercices$ ./a.out
Entrez le nombre de disques : 2
A -> C
A -> B
C -> B
3 déplacements
lami20j@debian:~/trash/c_exercices$ ./a.out
Entrez le nombre de disques : 3
A -> B
A -> C
B -> C
A -> B
C -> A
C -> B
A -> B
7 déplacements
lami20j@debian:~/trash/c_exercices$ ./a.out
Entrez le nombre de disques : 4
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C
A -> B
C -> B
C -> A
B -> A
C -> B
A -> C
A -> B
C -> B
15 déplacements
Ajouter un commentaire
Ce document intitulé « algorithme de jeux tour de hanoi » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?