裏 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でシェアする
« ダメ出し:不適切な公式は使... | トップ | ダメ出し:もろもろ »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事