π=2/1* 2/根号2 * 2/根号(2+根号2) * 2/根号(2+根号(2+根号2)) +……
到最后一项近似1停止,用递推法
#include<stdio.h>
#include<math.h>//开根号我用了数学库函数
int main()
{
double Pi=2,x=0,t;//我把第一项2作为Pi的初始值
while(1)
{
x=sqrt(x+2);//x是分母
t=2/x;//t是现在要乘的数
Pi=Pi*t;
if(t-1<1e-14) break;//因为t一定大于1,就这么写了;精确到小数点后14位
}
printf("%.14lf\n",Pi);//小数点后14位
return 0;
}
#include<math.h>//开根号我用了数学库函数
int main()
{
double Pi=2,x=0,t;//我把第一项2作为Pi的初始值
while(1)
{
x=sqrt(x+2);//x是分母
t=2/x;//t是现在要乘的数
Pi=Pi*t;
if(t-1<1e-14) break;//因为t一定大于1,就这么写了;精确到小数点后14位
}
printf("%.14lf\n",Pi);//小数点后14位
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-03-28
没看明白,不过这个形式不是可以用递归去写的么