Module: (Python) Alt programlar. özyineleme


Problem

11/12

1 numaralı satırlar üzerinde yineleme

Theory Click to read/hide

Görev
Kabile dilinin alfabesinde «Tumba-Yumba» dört harf: "K", "L", "M" ve "N". Bu alfabenin harflerinden oluşturulabilecek n harften oluşan tüm kelimelerin ekranda gösterilmesi gerekmektedir

Sorun, daha küçük bir soruna indirgenebilen normal bir kaba kuvvet sorunudur.
Sözcüğün yerine harfleri sırayla koyacağız.
Bir kelimenin ilk konumu alfabenin 4 harfinden biri olabilir (K, L, M, N).
İlk önce 'K' harfini ilk sıraya koyun. Ardından, ilk harfi 'K' olan tüm varyantları elde etmek için, kalan n-1 konumlar ve .etc. (resmi görmek)
Böylece, özyinelemeli bir çözüm bulduk: bir döngüde, tüm olası ilk harfleri gözden geçirin (alfabenin her harfini ilk sıraya koyarak) ve her durum için tüm olası "kuyrukları" oluşturun; uzunluk n-1.
 
Karakterlerin yinelemeli tekrarı
Geriye kalan kısım boş olduğunda (n = 0), yani tekrarlamayı durdurmanız ve bitmiş kelimeyi çıktı almanız gerekir. tüm harfler zaten seçili. 
Özyinelemeli prosedür şuna benzer: 
def TumbaWords(kelime, alfabe, n):
    eğer n < 1:
        baskı(kelime)
        geri dönmek
    alfabede c için:
        TumbaWords(kelime+c, alfabe, n - 1)

Problem

Kabile dilinin alfabesinde «tumba-yumba» dört harf: "K", "L", "M" ve "N". Bu alfabenin harflerinden oluşturulabilen N  harflerinden oluşan tüm kelimeleri göstermeniz gerekmektedir.