求π的值(信息学奥赛一本通-T1156)
生活随笔
收集整理的這篇文章主要介紹了
求π的值(信息学奥赛一本通-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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求分数序列和(信息学奥赛一本通-T107
- 下一篇: 信息学奥赛C++语言: 求和