Bu dersimizde ünlü Tower of Hanoi bulmacasını Python programını kullanarak uygulayacağız. Bu sorunu özyineleme fonksiyonunu kullanarak çözeceğiz.

Hanoi Kulesi nedir?
1883 yılında, Hanoi Kulesi matematiksel bulmacası Fransız matematikçi Edouard Lucas tarafından icat edildi. İlham, şunları söyleyen bir efsaneden geldi: Eski Hindu tapınağında, bu bulmaca genç rahibe sunuldu. Bulmaca şu ki, üç kutup ve 64 disk var ve her disk diğerinden daha küçük. Bu sorunu çözmek için, temel kısıtlamaları ihlal etmeden 64 diskin tümünü üç kutuptan birinden diğerine taşıyın.
Diskler her seferinde bir disk hareket ettirilebilir ve daha büyük bir diskin üstüne daha küçük bir disk yerleştirmelidirler.
Kaynak Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 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 16 17 | 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 |
Add Comment