菜鸟刚开始学c++,求大神看看这个代码有什么问题呢?
题目是写个代码求圆周率,lπ的计算公式如下:l其中arctan用如下形式的级数计算:l直到级数某项绝对值不大于10-15为止;π和x均为double型。我没有用答案给的方...
题目是写个代码求圆周率,
l π的计算公式如下:
l 其中arctan用如下形式的级数计算:
l 直到级数某项绝对值不大于10-15为止;π和x均为double型。
我没有用答案给的方法,数学都忘得差不多了。就想当然地写了下面这样的,求大神指点。
#include "stdafx.h"
#include<iostream>
using namespace std;
double arctan(double x);
double power(double y,int n);
int _tmain(int argc, _TCHAR* argv[])
{
int PI=0;
PI=16*arctan(1/5)-4*arctan(1/239);
cout<<PI<<endl;
return 0;
}
double arctan(double x)
{
double sum=0;
for(int i=0;power(x,2*i+1)/(2*i+1)<=1/power(10,15);i++)
sum+=(power(-1,i))*(power(x,2*i+1)/(2*i+1));
return sum;
}
double power (double y,int n)
{
double val=1.0;
while(n--)
val*=y;
return val;
} 展开
l π的计算公式如下:
l 其中arctan用如下形式的级数计算:
l 直到级数某项绝对值不大于10-15为止;π和x均为double型。
我没有用答案给的方法,数学都忘得差不多了。就想当然地写了下面这样的,求大神指点。
#include "stdafx.h"
#include<iostream>
using namespace std;
double arctan(double x);
double power(double y,int n);
int _tmain(int argc, _TCHAR* argv[])
{
int PI=0;
PI=16*arctan(1/5)-4*arctan(1/239);
cout<<PI<<endl;
return 0;
}
double arctan(double x)
{
double sum=0;
for(int i=0;power(x,2*i+1)/(2*i+1)<=1/power(10,15);i++)
sum+=(power(-1,i))*(power(x,2*i+1)/(2*i+1));
return sum;
}
double power (double y,int n)
{
double val=1.0;
while(n--)
val*=y;
return val;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询