为了账号安全,请及时绑定邮箱和手机立即绑定

这个公式怎么用c语言程序写:pi=2*2*sqrrt(2)……

/ 猿问

这个公式怎么用c语言程序写:pi=2*2*sqrrt(2)……

C
慕粉2142527367 2017-06-20 23:10:25
查看完整描述

3 回答

?
weixin_二哥_2

#include<stdio.h>

#include<math.h>

int main()

{

int n;

scanf("%d",&n);

long double Pi=2;

long double k=sqrt(2);

for(int i=0;i<n;i++)

{

Pi*=2/k;

k=sqrt(2+k);

}

printf("%.9f\n",Pi);

return 0;

}

这样你可以去尝试要循环体求多少次

查看完整回答
1 反对 回复 2017-12-20
?
onemoo

不好意思,过了这么多天才看到被邀请了。

公式是 2*2/sqer(2)*2/sqrt(2+sqrt(2))*2/sqrt(2+sqrt(2+sqrt(2))) ...  那就找规律吧。

我把它这样分组(下划线是每一项)  2  *  2 / sqrt(2)  *  2 / sqrt(2 + sqrt(2))  *  2 / sqrt(2 + sqrt(2 + sqrt(2)))  * ……

除了一开始的 2 以外,可以看出后面的分母都是 sqrt 函数,只不过参数不同。而参数的规律就是“前一项的分母再加 2”,这就是我找到的每一项的规律。而 π 就是这些项的累乘。

找到规律就好办啦,既然关键的规律仅仅是累加,同时 π 的计算只是累乘,那用循环就可以持续计算下去了。 你试试写一下吧。

查看完整回答
反对 回复 2017-06-28
?
qq_守护小猫咪_0

#include <math.h>

main(){

double root;

root = 2*2*sqrt(2);

printf("answer is %f\n", root);

}

查看完整回答
反对 回复 2017-06-21
  • 慕粉2142527367
    慕粉2142527367
    这个公式是这样的:pi=2*2/sqer(2)*2/sqrt(2+sqrt(2))*2/sqrt(2+sqrt(2+sqrt(2)))……有规律的

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信