[解決済み] Java再帰的フィボナッチ数列
2022-03-01 18:53:09
質問
この簡単なコードについて説明してください。
public int fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
特に最後の行で混乱しています。例えば n = 5 ならば fibonacci(4) + fibonacci(3) が呼ばれ、以下同様ですが、このアルゴリズムがこの方法でインデックス 5 の値を計算するのかが理解できないのです。詳しい説明をお願いします。
どのように解決するのですか?
フィボナッチ数列では、各項目は前の2つの和になります。そこで、再帰的なアルゴリズムを書きました。
だから
fibonacci(5) = fibonacci(4) + fibonacci(3)
fibonacci(3) = fibonacci(2) + fibonacci(1)
fibonacci(4) = fibonacci(3) + fibonacci(2)
fibonacci(2) = fibonacci(1) + fibonacci(0)
今、あなたはすでに知っている
fibonacci(1)==1 and fibonacci(0) == 0
. そこで、続いて他の値を計算することができます。
では
fibonacci(2) = 1+0 = 1
fibonacci(3) = 1+1 = 2
fibonacci(4) = 2+1 = 3
fibonacci(5) = 3+2 = 5
そしてフィボナッチ数列から
0,1,1,2,3,5,8,13,21....
について、以下のことがわかります。
5th element
フィボナッチ数列が返す
5
.
についてはこちらをご覧ください。 再帰チュートリアル .
関連
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] Mavenです。JARは空になります - 含有するためにマークされたコンテンツがありません
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] .lengthが解決できない、またはフィールドでない