Lektionsindhold -- Tastaturgenvej: 'u'  Forrige side: Towers of Hanoi (2) -- Tastaturgenvej: 'p'  Næste side: Towers of Hanoi (4) -- Tastaturgenvej: 'n'  Forelæsningsnoter - alle slides sammen  Lærebog -- Tastaturgenvej: 'v'  Alfabetisk indeks  Hjælp om disse noter  Kursets hjemmeside    Rekursion - slide 21 : 27

Towers of Hanoi (3)

Vi programmerer en løsning på problemet som kun viser hvilke flytninger der skal foretages.

Bogen har en løsning, som også viser hvordan tårnene ser ud efter hver flytning.

/* Move n discs from tower a to tower b via tower c */
void hanoi(int n, tower a, tower b, tower c){
  if (n == 1)
    move_one_disc(a,b);
  else {
    hanoi(n-1,a,c,b);
    move_one_disc(a,b);
    hanoi(n-1,c,b,a);    
  }
}  
hanoi.c
Hele programmet.
hanoi-4-output
Output fra programmet ved flytning af fire skiver.