思想:
在0到1之间取两个随机数,如果这两个随机数(x,y)在四分之一圆内,就加一。
最后用落在圆内的点数,除以总点数,就是PI了。
#include
<stdio.h>
#include
<conio.h>
#include
<stdlib.h>
#include
<time.h>
#define
N
300000
main()
{
long
i,n=0
float
x,y,pi
srand(time(NULL))
for
(i=0i<Ni++)
{
x=1.0*rand()/RAND_MAX
y=1.0*rand()/RAND_MAX
if
(x*x+y*y<1)
n++
}
pi=4.0*n/N
printf("pi=%f\n",pi)
getch()
}
1、PI 的值可以通过以下公式计算出来,
π/4=1-1/3+1/5-1/7……
编写循环程序,当这种计算方法所得到的偏差小于0.000001时停止计算,并输出PI的值及所需要计算的项数。
2、例程:
double s = 0//面积double pi = 0//圆周率
double d=200//直径(值越大圆周率越精确)
double r = d/2//半径
for(int i=1i<=di++){
for(int j=1j<=dj++){
if((i-r)*(i-r)+(j-r)*(j-r)<=r*r){
s++
}
}
}
pi = s/(r*r)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)