Pythonでn番目のフィボナッチ用語を見つけるプログラム
数nがあるとします。再帰関数を定義して、n番目のフィボナッチ項を見つける必要があります。
したがって、入力がn =8の場合、最初のいくつかのフィボナッチ項は0、1、1、2、3、5、8、13、21、34 ...
であるため、出力は13になります。これを解決するには、次の手順に従います-
- 関数solve()を定義します。これにはnがかかります
- n <=2の場合、
- return n-1
- それ以外の場合、
- returnsolve(n-1)+solve(n-2)
例
理解を深めるために、次の実装を見てみましょう-
def solve(n): if n <= 2: return n - 1 else: return solve(n - 1) + solve(n - 2) n = 8 print(solve(n))
入力
8
出力
13
-
Pythonで8パズルを解くためのステップ数を見つけるプログラム
すべての数字が0から8の範囲にあり、繰り返しの数字がない3x3ボードがあるとします。これで、0を4つの隣接ノードのいずれかと交換できます。これを解決して、すべての配置されたシーケンスを取得しようとしています。目標に到達するために必要な最小ステップ数を見つける必要があります。 したがって、入力が次のような場合 3 1 2 4 7 5 6 8 0 その場合、出力は4になります これを解決するには、次の手順に従います- 関数find_next()を定義します。これはノードを取ります moves:=各値に対応する
-
フィボナッチ数列のn番目の倍数のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数が与えられているので、フィボナッチ数で数kのn番目の倍数を見つける必要があります。 この問題の解決策については、以下で説明します- 例 # find function def find(k, n): f1 = 0 f2 = 1 i =2; #fibonacci recursion while i!=0: f3 = f1 + f2; &