根据圆的面积公式计算圆周率

来源:互联网 发布:代帮上传淘宝宝贝 编辑:程序博客网 时间:2024/04/27 17:42

圆周率是一个很神奇的数字,看似毫无规律,但却是确确实实存在并且唯一的,圆周率的计算有很多种方法,现在我们假设已知圆的面积公式 s=πr2 ,看能不能据此来反推得到 π

已知条件
- 圆的面积公式: s=πr2
- 正六边形是由6个完全相同的等边三角形组成;

所用工具
- 数学推导
- C语言编程

*注意:不能使用三角函数公式计算

推导过程
如图
这里写图片描述
设圆的半径r=1,圆内接 62n 边形的边长为 an 。由图可知:

AC2=AB2+BC2=AB2+(rOB)2=AB2+(11AB2)2 ,

因此:

  • an+12=(an/2)2+(11(an/2)2)2=24an2 ,

至此,我们可以由圆内接正 62n 边形的边长计算得到内接正 62n+1 边形的边长。圆的面积可近似看作其内接正多边形的面积,边数越多,近似的结果越准确。

  • s=πr2sn+1=62n+11/21an/2)=3an2n

因此:

  • π=s/r2=s=3an2n

由于 a1=1 是已知的,便可以联立以上带有项目符号的公式,通过迭代得到 π 的估计值。

C代码实现

#include<stdio.h>#include<math.h>main(){    int n=1;    double a=1.0,s1=0.0,s2,ds;    do    {        a=sqrt(2-sqrt(4-a*a));        s2=3*a*pow(2,n);        ds=s2-s1;        s1=s2;        n+=1;    } while(ds>0.00001);//精确至小数点后第5位    printf("pi=%f",s1);}
0 0
原创粉丝点击