summaryrefslogtreecommitdiff
path: root/algorithms/hanoi.c
blob: 8fa1a283e0a1ab827ff219fa51f334a0e11ffd4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>


void hanoi(int hoehe, char von, char nach, char ueber);

int main (void)
{
   int n;

   printf ("give height: ");
   scanf ("%d", &n);
   printf ("move:\n");
   hanoi (n, '1', '2', '3');
   printf ("done!\n");

   return 0;
}

void
hanoi(int hoehe, char von, char nach, char ueber)
{
   if (hoehe > 1)
      hanoi (hoehe - 1, von, ueber, nach);
   printf ("Scheibe '%d' nach '%c',\n",
	   hoehe, nach);
   if (hoehe > 1)
      hanoi (hoehe - 1, ueber, nach, von);
}