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  Alfabetisk indeks  Hjælp om disse noter  Kursets hjemmeside    Rekursion - slide 20 : 27

Towers of Hanoi (3)

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

/* 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 - fra LEFT til RIGHT via MIDDLE.