當前位置:編程學習大全網 - 編程軟體 - 用C語言編個程序,求π(派)

用C語言編個程序,求π(派)

利用“正多邊形逼近”的方法求出π的近似值

*程序說明與註釋

#include<stdio.h>

#include<math.h>

int 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);

}

*問題分析與算法設計

利用“正多邊形逼近”的方法求出π值在很早以前就存在,我們的先人祖沖之就是用這種方法在世界上第壹個得到精確度達小數點後第6位的π值的。

利用圓內接正六邊形邊長等於半徑的特點將邊數翻番,作出正十二邊形,求出邊長,重復這壹過程,就可獲得所需精度的π的近似值。

假設單位圓內接多邊形的邊長為2b,邊數為i,則邊數加倍後新的正多邊形的邊長為:

x=√——————

2-2*√———

1-b*b

——————

2

周長為:

y=2 * i * x i:為加倍前的正多邊形的邊數

  • 上一篇:泰安西湖噴泉開放時間?
  • 下一篇:為什麽《終結者2》突然下架了?
  • copyright 2024編程學習大全網