计算π的近似值,π的计算公式为:π=2*(2^2)/(1*3)*.*(2n)^2/(2n-1)(2n+1)要求:精度为10-5,并输出n的大小下面是我自己写的,运行测试卡在3.14121就不变化了,#include #include using namespace std;int main(){int n=1;flo
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 13:16:30
计算π的近似值,π的计算公式为:π=2*(2^2)/(1*3)*.*(2n)^2/(2n-1)(2n+1)要求:精度为10-5,并输出n的大小下面是我自己写的,运行测试卡在3.14121就不变化了,#include #include using namespace std;int main(){int n=1;flo
计算π的近似值,π的计算公式为:
π=2*(2^2)/(1*3)*.*(2n)^2/(2n-1)(2n+1)
要求:精度为10-5,并输出n的大小
下面是我自己写的,运行测试卡在3.14121就不变化了,
#include
#include
using namespace std;
int main()
{
int n=1;
float pi=2,a,b;
while(fabs(pi-3.141592)>0.000001)
{
a=4*n*n;//该方法按照公式计算,n就是公式里的n
b=4*n*n-1;
pi=pi*a/b;
n++;
}
cout
计算π的近似值,π的计算公式为:π=2*(2^2)/(1*3)*.*(2n)^2/(2n-1)(2n+1)要求:精度为10-5,并输出n的大小下面是我自己写的,运行测试卡在3.14121就不变化了,#include #include using namespace std;int main(){int n=1;flo
我看了一遍,1) 的程序上没有问题
我猜测 float 是精确到小数点后7位,同时在编译器中转化的时候会有精度损失
因为现在的编译器都是将float型转化成为double型的来进行计算的pi=pi*a/b;
这一步的精度损失不可预计.建议把float pi=2,a,b; 改为double试一下.
程序写的很漂亮呀 ^-&^