buffon=function(n, l=0.8, a=1){
k=0
theta=runif(n,0,pi); x=runif(n,0,1/2)
for(t in 1:n){if(x[t]<= l/2*sin(theta[t])) k=k+1 }
2*l*n/(k*a)
}
buffon(100000,l=0.8,a=1) # 结果在3.14左右
buf=function(n, l=0.8, a=1){
k=0
theta=runif(n,0,pi); x=runif(n,0,1/2)
for(i in 1:n){ if(x<= 1/2*sin(theta)) k=k+1 }
2*l*n/(k*a)
}
buf(100000,l=0.8,a=1) # 结果却在2.51左右



雷达卡





京公网安备 11010802022788号







