概率方法计算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左右?应该怎么改???
[解决办法]
点太离散了,应该增大圆的半径。