Hanoi Kulesi, üç çubuk ve n diskimiz olduğu matematiksel bir bulmacadır. Bulmacanın amacı, aşağıdaki basit kurallara uyarak tüm yığını başka bir çubuğa taşımaktır:
- Bir seferde yalnızca bir disk taşınabilir.
- Her hareket, yığınlardan birinden üstteki diski alıp başka bir yığının üzerine yerleştirmekten oluşur, yani bir disk ancak yığındaki en üstteki diskse hareket ettirilebilir.
- Daha küçük bir diskin üzerine hiçbir disk konulmaz.
İlginizi Çekebilir: Python Örnekleri
Not: Üst n-1 disklerin kaynak çubuktan Yardımcı çubuğa aktarılması yine yeni bir sorun olarak düşünülebilir ve aynı şekilde çözülebilir.

Kaynak Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Recursive fonksiyon ile hanoi kuleleri çözümü def HanoiKuleleri(n , kaynak, hedef, yedek): if n==1: print ("Disk 1 Taşı, Kaynak:",kaynak," Hedef:",hedef) return HanoiKuleleri(n-1, kaynak, yedek, hedef) print ("Disk",n,"Taşı, Kaynak:",kaynak," Hedef:",hedef) HanoiKuleleri(n-1, yedek, hedef, kaynak) # Sürücü Kod n = 4 HanoiKuleleri(n,'A','B','C') # A, C, B çubukların adıdır |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Disk 1 Taşı, Kaynak: A Hedef: C Disk 2 Taşı, Kaynak: A Hedef: B Disk 1 Taşı, Kaynak: C Hedef: B Disk 3 Taşı, Kaynak: A Hedef: C Disk 1 Taşı, Kaynak: B Hedef: A Disk 2 Taşı, Kaynak: B Hedef: C Disk 1 Taşı, Kaynak: A Hedef: C Disk 4 Taşı, Kaynak: A Hedef: B Disk 1 Taşı, Kaynak: C Hedef: B Disk 2 Taşı, Kaynak: C Hedef: A Disk 1 Taşı, Kaynak: B Hedef: A Disk 3 Taşı, Kaynak: C Hedef: B Disk 1 Taşı, Kaynak: A Hedef: C Disk 2 Taşı, Kaynak: A Hedef: B Disk 1 Taşı, Kaynak: C Hedef: B |
Kaynak: https://www.geeksforgeeks.org/python-program-for-tower-of-hanoi/
Add comment