Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

フィボナッチ の検索結果:

Hatena Blogに連続ツイートを簡単に貼り付けるスクリプト

…手にする数字の組は、フィボナッチ数列の隣り合う2数なんですね。互除法を使うと、数がどんどん小さくなるというイメージがありますが、フィボナッチ数にはこんな特徴もあったんですね。— Ⓜⓐⓢⓐⓗⓘⓓⓔ Ⓜⓐⓔⓗⓐⓡⓐ (@maehrm) 2020年7月22日 #素数夜曲 「本質に根差さない暗記は、学問ではありません」とあります。中々重たい言葉だと思います。資格取得のための指導には、単なる暗記を強いることが多いので。。。反省しないといけないなと思います。— Ⓜⓐⓢⓐⓗⓘⓓⓔ Ⓜⓐⓔⓗ…

数学ガールの秘密ノート/行列が描くもの

…はないでしょうか。 フィボナッチ数列のように行列とは全く関係なさそうに見えるものが、以下のように行列を使って表現できるのは不思議ですがなんとも言えないような面白さを感じますね。 行列を使ってフィボナッチ数列 - Mae向きなブログ 関係なさそうと言えば、『数学ガール/乱択アルゴリズム (数学ガールシリーズ 4)』の第7章以降にも行列が登場します。遠い昔の高校時代、単に問題を解くだけで精一杯で、固有値や固有ベクトルなども深く知ろうともしなかったのですが、読み進めながら感動したこ…

行列を使ってフィボナッチ数列

これまで何度となくフィボナッチ数列については話題にしてきましたが、 「フィボナッチ数 - Wikipedia」によると、フィボナッチ数列の漸化式は次のように行列表現できるそうです。 ゆえに ということで、行列を用いてフィボナッチ数列を計算してみることにしました。 Rubyでは、Matrixクラスを用いると、行列の計算なども簡単に行えますが、今回は繰り返し二乗法の学習も兼ねてということでpow関数を作成しました。 繰り返し二乗法 # 繰り返し二乗法を用いた冪乗の計算 def p…

Enumerable#lazyメソッドを試してみました

…s "(実験:1) フィボナッチ数列の最初10項を得る。" # lazy有り、なしに関わらず動作 p @fib.lazy.first(10) p @fib.first(10) puts "(実験:2) フィボナッチ数列の第6〜10項を得る。" # lazy無しだと無限ループ p @fib.lazy.drop(5).first(5) # p @fib.drop(5).first(5) puts "(実験:3) フィボナッチ数列の100以上1000未満の数値を得る。" # laz…

フィボナッチでRubyのバージョン毎にベンチマーク

「フィボナッチで各種言語をベンチマーク - satosystemsの日記」を見て、Rubyの各バージョン(1.8.7, 1.9.3, 2.0.0dev)での速度の違いを測ってみました。 fib.rb def fib(n) return n if (n < 2) return fib(n - 2) + fib(n - 1) end puts fib(38) 1.8.7 $ ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [unive…

Problem 137

…進めませんでした。 Problem 137 - もうカツ丼でいいよな を参考にさせていただいたのですが、この問題でもペル方程式が姿を表わすんですね。非常に興味深い問題でした。 ,は以下のように導いでいるんですね。 137.rb 参考文献 フィボナッチ数列と母関数については、『数学ガール (数学ガールシリーズ 1)』の第4章で詳しく説明されています。数学ガール (数学ガールシリーズ 1)作者:結城 浩Softbank Creative/Tsai Fong BooksAmazon

Problem 25

Project EulerのProblem 25(日本語)です。 フィボナッチ数列をFiberを使って生成してみました。 025.rb

13章分の12章

…を先延ばしにする」とか「引数は本当に必要になって初めて評価される」という認識はあったのですが,本章を読んで,初めて,「遅延評価とは,ポインターによる共有を用いた名前渡し*1である」という認識を持ちました。 練習問題の中に,フィボナッチ数の無限リストを生成する関数を実装する問題がありました。以前,Schemeで取り組んでいたこともあり解くことができました。当時は,とても不思議で理解不可能だと思えたのですが,一回理解すると,それが当然のように思えるのが不思議です。 *1:最外簡約

フィボナッチ数列

…できました。今日は,フィボナッチ数列です。 以下のように,普通の再帰で書くと,50項目を求める位から相当な時間がかかります。 fibonacci :: Integer -> Integer fibonacci n | n == 1 = 1 | n == 2 = 1 | otherwise = fibonacci (n-2) + fibonacci (n-1) main = print $ fibonacci 50 しかし,以下のように,遅延評価を用いると,一瞬のうちに答えを求…

27章分の17章

…不思議で面白いです。フィボナッチ数列は以下のように定義できるそうですが, gosh> (use util.stream) #<undef> gosh> (define fib (stream-cons 0 (stream-cons 1 (stream-map + fib (stream-cdr fib))))) fib なんだかよく分かりません。以下のように,streamを除いた,普通のcons, map, cdrで置き換えてあげると, gosh> (cons 0 (cons…

ミルカさんとフィボナッチ数列

昨日の日記では、id:hyuki:20051008で紹介されている「ミルカさんとフィボナッチ数列」について理解できたと書きましたが、本当は理解できていないような気もして、今日も読み返してみました。P4で、以下のような式がありますが、以下の式はの絶対値が1未満のときに成り立っているんですよね。ではないですよね。前ページでは、の絶対値が1未満のときで考えているので、ちょっと混乱してしまいました。

ミルカさんとフィボナッチ数列

…ている「ミルカさんとフィボナッチ数列」を読みました。最初は、ブラウザ上で読んでいたのですが、なんとなく理解できたのかなぁという感じだったので、紙に印刷して何度か読み直してみました。やっぱり紙で読むとじっくり考えることができ理解も深まりますね。の展開の式から物語が始まり、等比数列と関数の対応付けまでの話が非常に分かりやすく書かれているなぁと思います。ここまでが非常に丁寧に書かれているので、5ページ以降の「フィボナッチ数列を捕まえる」もしっかり理解できるんだろうと思います。フィボ…