algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Problem wież Hanoi - Implementacja w C/C++
Ocena użytkownikóww: *****  / 28
SłabyŚwietny
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;
}
Komentarze
photo
+1 # Jan88 2019-01-01 19:58
Wszystko ładnie, pięknie, tylko nigdzie nie jest napisane dlaczego w implementacji pojawia się 6 (tam, gdzie obliczamy "pomocnika"). Zawsze będzie 6? Raczej nie... Może jakiś komentarz?
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz