是否有可能在C++中执行while循环,直到小数达到某个精度?我想为arctan做一个长计算,然后pi,我希望循环运行,直到pi使用公式pi = 4(arctan(1.0))计算到小数点后第10位。我正在使用泰勒级数公式手动计算arctan。我知道有这些计算功能,但这是一项家庭作业,所以我必须这样做。我不是在寻找解决问题的方法,只是使用精度的循环是否可能。谢谢!while循环精度为条件
编辑:
我仍然坚持这一点!即使经过每个人的暗示,我都无法为while循环提供适当的参数。真的需要帮助。这里是我提出的代码:
#include <iomanip>
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
int i;
long double result;
long double pi;
int y=3;
int loopcount=0;
long double precision;
cout<<"Start\n";
result=1-(pow(1,y)/y);
do
{
y=y+2;
result=result+(pow(1,y)/y);
y=y+2;
result=result-(pow(1,y)/y);
pi=4*(result);
precision=(pi*(pow(10,11))/10);
loopcount++;
}
while(//This is the problem!);
cout<<"Final Arctan is:"<<endl;
cout<<setprecision(20)<<result<<endl;
cout<<"Final Pi is:"<<endl;
cout<<setprecision(9)<<pi1<<endl;
cout<<"Times looped:"<<endl;
cout<<loopcount<<endl;
return 0;
}
适合Pi Day的作业。 8V) – 2012-03-14 20:59:20
尼斯阅读这里:http://floating-point-gui.de – BlackBear 2012-03-14 21:03:23
尼斯链接BlackBear非常翔实的材料有 – adohertyd 2012-03-14 21:26:16