#include"stdio.h"
int main()
{
double b=1,c,d,e=1,f,eps;
scanf("%le",&eps);
do{
if(eps>1)
{
e=1;
break;
}
b+=2;
for(d=0,c=1,f=3;d<((b+1)/2)-1;d++,f+=2)
{
c*=(d+1)/f;
}
e+=c;
}while(c>=eps);
printf("%.5lf",2*e);
}
本題要求撰寫程式,根據下式求π的近似值,直到最后一項小于給定精度eps。
?2
?
?π
?? =1+
?3
?
?1!
?? +
?3×5
?
?2!
?? +
?3×5×7
?
?3!
?? +?+
?3×5×?×(2×i+1)
?
?i!
?? +?
輸入格式:
輸入在一行中給出精度eps,可以使用以下陳述句來讀輸入:
scanf("%le", &eps);
輸出格式:
在一行內,按照以下格式輸出π的近似值(保留小數點后5位):
PI = 近似值
輸入樣例:
1E-5
輸出樣例:
PI = 3.14158
為什么我的在pta提交不了呢
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230482.html
標籤:新手樂園
上一篇:下面程式為什么錯啊?
