信息学奥赛一本通T1156:函数 求π的值

【题目描述】根据公式:arctanx(x)=x−x^3/3+x^5/5−x^7/7+...和π=6arctanx(1/√3).定义函数arctanx(x),求当最后一项小于10^(−6)时π的值。【输入】(无)【输出】π的值。保留到小数点后10位。【输入样例】(无)【输出样例】(无)【源程序】 

信息学奥赛一本通T1156:求π的值

【题目描述】

根据公式:arctanx(x)=x−x^3/3+x^5/5−x^7/7+...和π=6arctanx(1/√3).定义函数arctanx(x),求当最后一项小于10^(−6)时π的值。

【输入】

(无)

【输出】

π的值。保留到小数点后10位。

【输入样例】

(无)

【输出样例】

(无)

【源程序】

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double calculate(double x);

int main()
{
    double a,pi;
    a=1/sqrt(3);//计算公式的参数
    pi=6*(calculate(a));//调用函数计算
    printf("%.10lf\n",pi);//保留十位小数输出
    return 0;
}
double calculate(double x)
{
    double sum=0,temp=x;
    int i=1;

    while(fabs(temp/i)>=1e-6)//最后一项绝对值大于10^(-6)时进行循环
    {
        sum+=temp/i;//累加各项
        temp=-1*x*x*temp;//求下一项
        i+=2;//系数+2
    }
    return sum;
}

 

信息学奥赛一本通T1156:函数 求π的值 归属于 函数,更多同类题解源程序见:函数 和 求π的值

0 条评论

请先 登录 后评论
不写代码的码农
轩爸

0 篇文章

作家榜 »

  1. admin 2 文章
  2. 张芳 0 文章
  3. hanna 0 文章
  4. Jason 0 文章
  5. lixiaioqian 0 文章
  6. GeraldWrora 0 文章
  7. 董伟 0 文章
  8. 信奥达人 0 文章