用程式模擬蒲豐投針試驗

lt發表於2017-04-09

蒲豐投針試驗

    1777年的一天,法國數學家蒲豐(Comte de Buffon,1707-1788)把一些朋友請到家裡。他事先在一張大白紙上畫好了一條條等距離的平行線,又拿出許多質量均勻、長度恰好是平行線間距的一半的小針,請朋友們把針一枚一枚隨意投到白紙上,如圖1。蒲豐則在一旁觀察每一枚投出的針是否與平行線相交。計數結果是:共投了2212枚,其中704枚與平行線相交。於是,蒲豐計算了這兩數之商:2212/704≈3.142,然後宣佈,這就是圓周率π的近似值!

113

假設平行線之間距離是2,共6條線,針的長度是1,每次y座標在0~10之間,終點與起點的夾角是隨機數,終點的y座標是y+sin(a).2000次模擬的結果離π很遠。100萬次還差不多。

with t2 as(select (level-1)*2 L2 from dual connect by level<=6) --0 2 4 6 8 10
,a as(select dbms_random.value(0,10)y, sin(dbms_random.value(-100,100))sina from dual connect by level<=2000)
select 2000/count(*) pi
from a
where exists(select 1 from t2 where L2 between least(y , y+sina)and greatest(y , y+sina))
;

相關文章