定理与猜想(求π得近似值)

来源:互联网 发布:美工电脑配置要求 编辑:程序博客网 时间:2024/06/05 19:14
/**************************************** *  File Name  : figure.c *  Creat Data : 2015.1.30*  Author     : ZY *****************************************/ /*定理与猜想*//*求π得近似值*//*请利用“正多边形逼近”的方法求出π的近似值假设单位圆内接多边形的边长为2b,边数为i,则边数加倍后的新的正多边形的边长为:x = (sqrt(2-2*sqrt(1-b*b)))/2周长为:y = 2*i*x;//i:为加倍前的正多边形的边数*/#include <stdio.h>#include <math.h>int main(void){double e=0.1,b=0.5,c,d;long i;//i:正多边形边数for(i = 6;;i *= 2)//正多边形边数加倍{d = 1.0-sqrt(1.0-b*b);//计算圆内接正多边形的边长b = 0.5*sqrt(b*b+d*d);if(2*i*b - i*e < 1e-15)//精准度达1e-15停止{break;}e = b;//保存本次正多边形的边长作为下一次精度控制的依据}printf("pai = %.15lf\n",2*i*b);//输出π和正多边形的边数printf("The number of edges of required polygon:%ld\n",i);return 0;}

0 0