圆周率的一些看法

2018-12-25  本文已影响0人  Chilkings

圆周率的一些看法

1、 什么是圆周率?

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

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

image

2、 圆周率计算方法

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

image

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

image

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

#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);}
上一篇 下一篇

猜你喜欢

热点阅读