エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
久しぶりのfib関数 - Magnolia Tech
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
久しぶりのfib関数 - Magnolia Tech
先日、関数型まつりに参加した影響で、久しぶりにフィボナッチ数を求める関数でも書くか!と思って書き... 先日、関数型まつりに参加した影響で、久しぶりにフィボナッチ数を求める関数でも書くか!と思って書き始めたら、再帰+末尾最適化バージョンが一発でそらで書けず、過去に書いたコードを見て、「あー」となったので、その記録。 なんでも忘れるものですね... 単純なループバージョン 定義の通りに書いただけ でも再帰を使ってないので、関数型っぽくない def fib1(n: Int): BigInt = if n <= 1 then BigInt(n) else var a: BigInt = 0 var b: BigInt = 1 for (_ <- 2 to n) val n = a + b a = b b = n b 素直に再帰を使って書いたバージョン これも定義通りに素直に書いただけ def fib2(n: Int): BigInt = def loop(n: Int): BigInt = if

