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; }