モンテカルロ法を使うと、2つの乱数と計算で、円周率を近似値として求めることができるので試してみました。
モンテカルロ法の仕組みは以下で求められます。
- 点(X,Y)のXとYを乱数で求める。
- ピタゴラスの定理で、原点(0,0)から点(X,Y)の距離が単位円1に収まるかどうか確認する。収まる場合はinCountで保持。
- 最後に、(4*inCount)/全体の回数で、円周率πを求めることができます。
乱数が0.0から1.0の範囲なので、XY座標では、単位円の4分の1です。そのため4倍に円周率を求めるときにします。乱数を-1から1の範囲にしたら、inCount/Counterになります。