2023-11-10 03:25来源:m.sf1369.com作者:宇宇
因为圆面积s=pi*r^2, 所以pi=s/r^2.
点(x,y)是0~1正方形范围内的随机点,如果x^2+y^2<=1,则该点在单位圆内.
x^2+y^2就是r^2,即圆半径的平方.d/N为点x,y落入单位圆内的概率,即约为圆面积.
圆的半径为1/2,而不是1,所以pi=4*d/N.
#include #include #include int main (){ int a,b,c,i; int j=0; int sum=0; double k=0.0; srand((unsigned int) time(NULL)); for(i=1;i<=500;i++){ a=rand()%7+1; b=rand()%7+1; c=rand()%7+1; printf(所抽到的三个球为:%d%d%d\n,a,b,c); sum=a+b+c; if (sum>=15){j++;} k=j/500.0; } printf(\n%lf\n,k); return 0; } 你看这个程序,可以运行出来K的值。你那个程序就是在k=j/500这里出问题了,以为k定义的是double型,所以要强制转换一下改成k=j/500.0或者k=(double)j/500就行了,以后遇到这个问题要注意
把整型的a/b计算出double型,不是(double)(a/b)而是(double)a / b;
程序中错误:
【1】count, a要定义,所以for之前,int count, a = 0;
【2】x,y这么取随机数
x = (double)rand()/ RAND_MAX;
y = (double)rand()/ RAND_MAX;
【3】pi = (double)a / MAX * 4.0;才对
概率编程是一种系统创建方法,它所创建的系统能够帮助我们在面对不确定性时做出决策。许多日常决策涉及在确定无法直接观测的相关因素时的判断能力。历史上,帮助在不确定性下做出决策的方法之一是使用概率推理系统。概率推理将我们对某种情况的认识和概率法则结合起来,确定无法观测的决策关键因素。直到最近,概率推理系统的范围仍然有限,难以应用到许多现实情况中。概率编程是一种新方法,它使概率推理系统更容易构建,适用范围更广。
要理解概率编程,首先要观察不确定性条件下的决策过程和涉及的主观判断。然后,您将了解概率推理是如何帮助您做出决策的。您将注意到概率推理系统所能进行的3种推理,也就能理解概率编程,以及通过编程语言的能力用概率编程构建概率推理系统的方法。