关于圆周率的一些东西

圆周率的一些看法

1、 什么是圆周率?

圆周率(Pi)是周长与直径的比值

在示例图片中,π可以理解为圆与正方形的比值。

2、 圆周率计算方法

这里说一下目前知道的两种方法。
1、随机模拟法
在如图的正方形中随机撒一把芝麻,用随机模拟的方法来估计圆周率π的值.如果撒了1000个芝麻,落在圆内的芝麻总数是776颗,那么这次模拟中π的估计值是3.104。
理论上只要量级足够大,是可以估算出较为精确的圆周率的。

2、割圆法
所谓割圆术,就是不断倍增圆内接正多边形的边数求出圆周率的方法。
以圆内多边形的面积,来无限逼近圆的面积,使正多边形的周长无限接近圆的周长,进而来求得较为精确的圆周率。

3、附上一个求圆周率的c语言源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
long a = 10000;
long b;
long c = 2800;
long d;
long e;
long f[2801];
long g;
int main()
{
for (; b - c; )
f[b++] = a / 5;
while ( 1 )
{
if ( 0 == b - c )
break;
f[b] = a / 5;
b++;
}
/* f[0 - 2800] = 10000/5 */
for (; d = 0, g = c * 2; c -= 14, printf( "%.4d", e + d / a ), e = d % a )
for ( b = c; d += f[b] * a, f[b] = d % --g, d /= g--, --b; d *= b )
;
while ( 1 )
{
d = 0;
g = c * 2;
if ( 0 == g )
break;
b = c;
while ( 1 )
{
d += f[b] * a;
f[b] = d % --g;
d /= g--;
--b;
if ( 0 == b )
break;
d *= b;
}
c -= 14;
printf( "%.4d", e + d / a );
e = d % a;
}

return(0);}
坚持技术分享,如果帮助到了您,您的支持将鼓励我继续创作!