簡単なモンテカルロシミュレーション編 半径1の円の面積を求めるモンテカルロ 一辺が2の長さを持っている正方形をまず考えます。 縦横方向にx,y座標を置き、各辺の中点を、それぞれx,y軸に交わるようにします。 こうすると、半径1の円を正方形に入れると、その中心が(0,0)に来ます。 今、-1〜+1の範囲で二つの乱数が振られた時(正方形の中の一点をランダムに指定した時)、その2乗和が1以下になったなら、これは円に入ったと言えます。 何度かこれを試行して、円に入った割合に正方形の面積(2×2=4)を、この割合にかけると、円の面積が求められるでしょう。というもの。 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { double i,k,n,r,x,y,c1,c2,C1,C2; n = 10000000