C趣味程序百例(25)求π的近似值

文章作者 100test 发表时间 2007:03:10 17:36:14
来源 100Test.Com百考试题网


78.求π的近似值
请利用“正多边形逼近”的方法求出π的近似值
*问题分析与算法设计
利用“正多边形逼近”的方法求出π值在很早以前就存在,我们的先人祖冲之就是用这种方法在世界上第一个得到精确度达小数点后第6位的π值的。
利用圆内接正六边形边长等于半径的特点将边数翻番,作出正十二边形,求出边长,重复这一过程,就可获得所需精度的π的近似值。
假设单位圆内接多边形的边长为2b,边数为i,则边数加倍后新的正多边形的边长为:

周长为:
y=2 * i * x i:为加倍前的正多边形的边数

*程序与程序注释
#include
#include
void main()
{
double e=0.1,b=0.5,c,d.
long int 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) break. /*精度达1e-15则停止计算*/
e=b. /*保存本次正多边形的边长作为下一次精度控制的依据*/
}
printf("pai=%.15lf\n",2*i*b). /*输出π值和正多边形的边数*/
printf("The number of edges of required polygon:%ld\n",i).
}
*运行结果
pai=3.141592653589794
The number of edges of required polygon:100663296

*思考题
请用外切正多边形逼近的方法求π的近似值。

相关文章


C趣味程序百例(26)奇数平方的一个有趣性质
计算机等级考试四级考试中英文术语对照
ACCESS入门教程(十八)外部数据的使用
全国计算机等级考试查分电话
C趣味程序百例(25)求π的近似值
ACCESS入门教程(十七)SQL语言妙用
计算机等级考试报名时间表
全国计算机等级考试(三级B)考试-大纲
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛