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

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

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

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;
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 e = b;
}
printf(" pai = % . 15 lf \ n",2 * I * b);
printf("所需多邊形的邊數:% LD \ n",I);
}
*運行結果
PAI = 3.141592653589794
所需多邊形的邊數:100663296

*思考題
請用外切正多邊形近似的方法求π的近似值。

位律師廻複

生活常識_百科知識_各類知識大全»C趣味程序百例(25)求π的近似值

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情