なんじゃくにっき

プログラミングの話題中心。

モンテカルロ法でπを求めるサンプル

モンテカルロ法でπを求める。
無限リストを使って書いてみた。
 

import util.Random
import math._

val n = 10000
val stream = Stream continually Random.nextDouble() zip (Stream continually Random.nextDouble())
val len = stream take n filter(x => (pow(x._1, 2.0) + pow(x._2, 2.0)) < 1.0) length
val pi = len * 4.0 / n