kurallar:
Küçük bir diskin üzerine büyük bir disk yerleştirilemez.
Aynı anda sadece tek bir disk oynatılabilir.
Oyun, disklerin tamamı, başlangıç durumunda olduğu gibi (küçükten büyüğe doğru),
başlangıç direğinden farklı bir direğe taşındığı zaman biter.
eğer 3 disk varsa max hareket sayısı 7dir.
void hareket(int value, int kule1, int kule3, int kule2)
{
if (value == 1) {
printf("%d -> %d\n\
", kule1, kule3);
return;
}
hareket(value - 1, kule1, kule2, kule3);
printf("%d -> %d\n\
", kule1, kule3);
hareket(value - 1, kule2, kule3, kule1);
}
main()
{
int disks=3;
hareket(disks, 1, 3, 2);
return 0;
}
Hiç yorum yok:
Yorum Gönder