读书人

概率方法计算pi的有关问题amp;#183;amp;#183

发布时间: 2012-02-17 17:50:41 作者: rapoo

概率方法计算pi的问题····
#include <stdlib.h>
#include <iostream.h>
#include <time.h>

#define NUM 10000000

int main()
{
srand((unsigned int)time(NULL));
float i = 0.0;
float fx,fy,k=0.0;
while(i<NUM)
{
fx = (float)(rand()%101);
fy = (float)(rand()%101);

if(fx*fx+fy*fy<=10000.0)
{
k++;
}
i++;
}
cout << 4*k/NUM<<endl;
cin>>k;
return 0;
}
---------------
按说扇形边界上的点因为*4,所以相当于计算了两次,pi值应该大于3.14啊,为什么计算的结果总是3.12左右?应该怎么改???

[解决办法]
点太离散了,应该增大圆的半径。

读书人网 >软件架构设计

热点推荐