2815: 练46.1 求π的值
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:12
解决:5
题目描述
根据公式:$arctanx(x)=x-\frac{x^3}{3}+\frac{x^5}{5}-\frac{x^7}{7}+...$和$π=6arctanx(\frac{1}{\sqrt{3}})$。
定义函数 $arctanx(x)$,求当最后一项小于$10^{-6}$时$π$的值。
定义函数 $arctanx(x)$,求当最后一项小于$10^{-6}$时$π$的值。
输入
无
输出
$π$ 的值。保留到小数点后$10$位。
样例输入 复制
无
样例输出 复制
无
提示
#include<bits/stdc++.h>
using namespace std;
double f(double x,int y){
double ans=1;
for(int i=1;i<=y;i++) ans*=x;
return ans;
}
double arctanx(double x){
double ans=0;
for(int i=1;;i++){
double fz=f(x,2*i-1);
double fm=2*i-1;
double n=fz/fm;
if(n<0.000001) break;
if(i%2==1) ans+=fz/fm;
else ans-=fz/fm;
}
return ans;
}
int main(){
double pi=6*arctanx(1.0/sqrt(3));
printf("%.10lf",pi);
return 0;
}