Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
Q&A
解決済
2回答
1229閲覧
総合スコア34
1グッド
2クリップ
投稿2019/12/29 07:40
1
2
下記のコードが理解できません。 9を渡した場合は8+7で15がかえるのではないでしょうか?
def fibonacci1(n) return if n < 0 return n if n < 2 fibonacci1(n - 1) + fibonacci1(n - 2) end temp = fibonacci1(9) puts temp #=>34
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
0
ベストアンサー
まず、フィボナッチ数(フィボナッチ数列)の理解から始めるのが良いかと。
で、次にステップ実行できる環境を用意すると学習がはかどります。 ネットだと以下のサイトで確認できます。
http://pythontutor.com
投稿2019/12/29 10:54
退会済みユーザー
総合スコア0
回答へのコメント
2019/12/29 12:59
それは fibonacci1(n - 1) + fibonacci1(n - 2) ではなく (n - 1) + (n - 2) ですね。
このプログラムは再帰という方法を使ってます。9だと数大きくて厄介なので4で f(4) = f(3) + f(2) f(3) = f(2) + f(1) f(2) = f(1) + f(0) f(1) = 1 f(0) = 1
ということで f(2) = 1 + 1 = 2 f(3) = 2 + 1 = 3 f(4) = 3 + 2 = 5 これでやって頂くと f(9) がわかります
投稿2019/12/29 08:24
総合スコア23678
2019/12/29 09:18
2019/12/29 10:53
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
フィボナッチ数が理解できません
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/29 12:59