求π的近似值 “正多邊形逼近”法

#include
#include <math.h>


int main()
{
    double e = 0.1, b = 0.5, c, d;
    long int i;
    for(i = 6; ; i*=2)
    {
        d = 1.0 - sqrt(1.0 - b*b);
        //b = 0.5*sqrt(2*d);
        b = 0.5*sqrt(b*b + d*d);
        if(2*i*b - i*e<1e-15) break;
        e = b;
    }
    printf("the number of edges of required poiygon: %ld\n", i);
    printf("pai = %.15lf\n", 2*i*b);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章