首页 > 试题广场 >

在一个无线大平面上,有两组平行线,互相间垂直,每组平行线的间

[问答题]
在一个无线大平面上,有两组平行线,互相间垂直,每组平行线的间隔都为t,将一根长度为l(l<t)的针任意掷在这个平面上,求此针与所有平行线都不相交的概率,用高等数学(微积分,概率的方法)求解。用一种编程语言(C/C++,matlab,python,java)写一个函数(输入为t和l),采用蒙特卡洛方法,模拟计算这个概率值。

参考布丰投针实验
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<iostream>
using namespace std;
int main()
{
longi,in,N=1000000;
doublex,y,pi;
srand(time(NULL));
for(i=0,in=0;i<N;i++)
{
x=2.0*rand()/RAND_MAX-1;
y=2.0*rand()/RAND_MAX-1;
if((x*x+y*y)<=1)
in++;
}
pi=4.0*in/N;
cout<<pi<<endl;
getch();
return 1;
}

编辑于 2015-07-27 14:34:59 回复(0)
发表于 2015-04-29 16:42:28 回复(0)