裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

フィボナッチ数の一般項

2012年06月25日 | ブログラミング

フィボナッチ数の「一般項を求める式を用いた解法」において

当然のことではあるが,フィボナッチ数は整数のはず。示されたプログラムは,numeric(double) を使っているのだから,限界がある。しかるに,限界についてなんの言及もないのは困ったものだ。

フィボナッチ数を求めるなら,gmp ライブラリの fibnum を使うのが穏当。

> options(digits=20) # 実際は,15,6桁しか意味がない

> my.fib.3(71)
[1] 308061521170129.6875

小数点以下四捨五入だと,これ以上のフィボナッチ数は正しくない。

> fibnum(71)
Big Integer ('bigz') :
[1] 308061521170129

> my.fib.3(10)
[1] 55.000000000000014211

15,6桁しか意味がない。後ろの方の数字はゴミ。

通常,options(digits=7) だから,ゴミは丸められて表示される。

> options(digits=7)
> my.fib.3(10)
[1] 55

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村