【题目描述】
定义函数 arctanx(x),求当最后一项小于10的负六次方时π的值。
【做题技巧】
连续调用函数(函数要用double的),把每一项都加起来,最后保留十位输出。
【源代码】
#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
using namespace std;
double a,s;
double poi(double x){//函数要设置成double
double sum=0,temp=x;
int i=1;
while(fabs(temp/i)>=1e-6){//循环条件 fabs(temp/i)>=1e-6
sum+=temp/i;//累加各项
temp=-1*x*x*temp;//求下一项
i+=2;//由题意可知,每次系数+2
}
return sum;
}
int main(){
a=1/sqrt(3);//计算公式的参数
s=6*(poi(a));//调用函数计算
cout<<fixed<<setprecision(10)<<s;//输出
return 0;
}