青少年编程知识记录 codecoming

求Π的值

【题目描述】

根据公式: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;
}



(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: