Module: (Python) サブルーチン。再帰


Problem

11/12

行を繰り返す #1

Theory Click to read/hide

タスク
部族の言語「Tumba-Yumba」のアルファベットでは、 4文字:「K」、「L」、「M」および「N」。このアルファベットの文字から組み立てられる n 文字で構成されるすべての単語を画面上に表示する必要があります

この問題は通常の総当たり問題ですが、より小さな問題にまとめることができます。
単語を順次文字に置き換えて
いきます。 単語の最初の位置は、アルファベットの 4 文字 (K、L、M、N) のいずれかになります。
まず、文字「K」を先頭に置きます。次に、最初の文字 'K' を持つすべてのバリアントを取得するには、残りの n-1 位置、および .etc (写真を参照)
そこで、私たちは再帰的な解決策を思いつきました。ループ内で、考えられるすべての最初の文字を調べて (アルファベットの各文字を順番に最初に置きます)、それぞれのケースについて、考えられるすべての「尾部」を構築します。長さ n-1
 
文字の再帰的反復
残りの部分が空 (n = 0) になった場合、再帰を停止し、完成した単語を出力する必要があります。すべての文字がすでに選択されています。
再帰的なプロシージャは次のようになります。 <プレ> def TumbaWords(単語、アルファベット、n): n <の場合1: 印刷(ワード) 戻る アルファベットの c の場合: TumbaWords(単語+c、アルファベット、n - 1)

Problem

部族の言語のアルファベットで「トゥンバユンバ」 4文字:「K」、「L」、「M」および「N」。このアルファベットの文字から作成できる N  文字で構成されるすべての単語を表示する必要があります。