自分にわかりやすく書いた備忘録です。収束はじめに円周率は理系が崇拝する数値で、さまざまな求め方が数学者たちによって研究されてきました。今回は、その中でも、最も単純な求め方を実践していきたいと思います。2.50GHzRAM:4.00GBモンテカルロ法による円周率計算モンテカルロ法とは、乱数によって数値を計算する手法です。ここに紙が1枚、鉛筆が1本あるとします。最初に、紙に1cm×1cmの正方形を描きます。その中に半径1cmの四分円を描きます。正方形の中に鉛筆が落ちるように、ランダムに鉛筆を落としていきます。これを何回、何万回と繰り返します。π/4$$となります。この性質を利用して、計算していきます。プログラムにする最初に打つ点の数を入力します。四分円の中に入っているかどうかは、ランダムな点と四分円の中心との距離が1以上、1未満で判定することとしました。double精度でやることにします。0;}とても単純ですね。スポンサーリンク収束この手法はPCのリソースをかなり使うにもかかわらず、収束が大変遅いです。原理が単純だということだけが取り柄です。3.14213以上のような結果となりました。乱数を使用しているため、実行するたびに値が変わります。回数を増やせば増やすほど、正確な値に近づいていきます。いえ、時間的にせいぜい10億くらいが限界ではないでしょうか...これだけの回数を重ねても、3ケタまでしか合っていません。他のやり方で、再現性のあるプログラムを作るべきだと思います。いうわけで、次回はライプニッツの公式編を書きたいと思います。前回はライプニッツの公式編を書きました。それでは収束が遅く、精度がなかなか出にくいということがわかりました。円周率といえば、理系の人間ならだれでも(?)憧れを抱く無理数ですね。この記事は前回のプログラムを改良したものについて扱います。ソースコードの意味を知りたい方は、前回の記事を先にご覧ください。公開鍵暗号の1つである「RSA暗号」について理解を深めるため、実装してみました。コメントをキャンセルメールアドレスが公開されることはありません。Tanidaizのプログラミング備忘録・日記.。