タグ

fibに関するkoko1000banのブックマーク (4)

  • フィボナッチ数列 - inamori’s diary

    フィボナッチ数列Fnは次のように定義されます。 F1 = 1 F2 = 1 Fn+2 = Fn+1 + Fn F2 = 2とする流儀もあるようです。 フィボナッチ数列はいろいろなところに出てくるためか、Project Eulerでもしばしば取り上げられます。 フィボナッチ数列をPythonで生成するには、F0 = 0と考えて、 def gen_fib(): a, b = 0, 1 while True: yield b a, b = b, a + b n項を求めるにこれを使うと、 N = 100000 print next(islice(gen_fib(), N - 1, None)) n項を直接求めるときは行列を使うと速くなります。定義から、 となるので、An-1をバイナリ法で求めればよいです。 def mul(A, B): def f(i, k): return sum(A[i][j]

    フィボナッチ数列 - inamori’s diary
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • フィボナッチ関数の計算量 - 主題のない日記

    フィボナッチ関数の計算について記事を見掛けた。 計算速度が大幅に違う理由を遅延評価と誤解しているようだけれど、そうではない。 まず最初の定義について見てみよう。 fibonacci :: Integer -> Integer fibonacci n | n == 1 = 1 | n == 2 = 1 | otherwise = fibonacci (n-2) + fibonacci (n-1) この定義だと計算は非常に遅い。 どうして遅くなるのかを考えるにはコールツリーを書いてみるとわかりやすい。 この関数を1回呼ぶと2つに枝分れしていくので、関数呼出しの回数は指数関数のオーダーになる。 ここでは関数呼出しの回数がそのまま計算量であると考えてよいだろう。 そして同じ引数での呼出しが何度もあることがわかる。 そして速度を改善したもうひとつの定義を見てみよう。 fibonacci :: Int

    フィボナッチ関数の計算量 - 主題のない日記
  • 「最も簡単に fib を高速化する方法」を試してみた。

    2022 (2) ► 10月 (1) ► 2月 (1) ► 2021 (51) ► 11月 (2) ► 10月 (2) ► 9月 (4) ► 8月 (4) ► 7月 (4) ► 6月 (4) ► 5月 (3) ► 4月 (10) ► 3月 (7) ► 2月 (4) ► 1月 (7) ► 2020 (155) ► 12月 (7) ► 11月 (10) ► 10月 (8) ► 9月 (8) ► 8月 (11) ► 7月 (21) ► 6月 (19) ► 5月 (14) ► 4月 (20) ► 3月 (13) ► 2月 (10) ► 1月 (14) ► 2019 (293) ► 12月 (11) ► 11月 (12) ► 10月 (24) ► 9月 (29) ► 8月 (27) ► 7月 (36) ► 6月 (40) ► 5月 (24) ► 4月 (35) ► 3月 (42) ► 2月 (6

    「最も簡単に fib を高速化する方法」を試してみた。
  • 1