Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2802

マルチスケールシミュレーション特論:第 10 回をまとめてみた

$
0
0

ruby-2.5.5p157

フィボナッチ数列(問題)

  • 本日は Fibonacci 数列についての問題を解く

    fib(n) = fib(n-1)+fib(n-2)
    0 1 1 2 3 5 8 13 21 ...
    

    を recursion(再帰)で求めよ

進め方

前回と同様に テスト駆動開発で今後の学習を進めて行く

  • まずは初項から計算を行う

    • red: 表示を行うred → p fib(0)エラーがおこる
    • green: def をしてみる

      deffib(n)ifn==0return0endend
    • refactoring: assert_equal.rb の assertion(確認)を試しておく

  • 次は、2 項目を求める

    • これは初項と同様に求める
  • 次は 3 項目 = 2 項目 + 1 項目

この処理を逐一行っていく。エラーが現れたら随時処理を行っていく

プログラム(最終版)

上記のようにプログラムを書き進めていくと以下のようなプログラムができます

deffib(n)return0ifn==0return1ifn==1returnfib(n-1)+fib(n-2)endrequire'./assert_equal'# assert_equal.rb  は同じディレクトリにある事を想定[[0,0],[1,1],[2,1],[3,2],[4,3],[5,5],[6,8],[7,13],[8,21]].eachdo|index,expected|putsassert_equal(expected,fib(index))end

  • source ~/Downloads/git/grad_members_20f/members/taiseiyo/memos/class10.org

Viewing all articles
Browse latest Browse all 2802

Trending Articles