Ocena użytkownikóww: ***** / 28
Nadesłany przez Tomasz Lubiński, 17 listopada 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
hanoi_c.c:
// Problem wiez Hanoi
// Tomasz Lubinski (c)2005
// www.algorytm.org
#include <stdio.h>
void Hanoi(int src, int dst, int n)
{
int helper = 6 - (src + dst); // calculate helper
if (n == 1)
printf("%d => %d\n", src, dst);
else
{
Hanoi(src, helper, n-1);
Hanoi(src, dst, 1);
Hanoi(helper, dst, n-1);
}
}
int main(int argc, char* argv[])
{
int i;
printf("1 - palik zrodlowy\n");
printf("2 - palik pomocniczy\n");
printf("3 - palik docelowy\n");
printf("Ile krazkow przeniesc? ");
scanf("%d", &i);
Hanoi(1, 3, i);
return 0;
}