【题目描述】
泰勒展开:π/4≈1-1/3+1/5-1/7+1/9-...,求π的近似值,要求其最后一项绝对值大于1e-7
【题目解析】
1.分析题目:(1)公式规律:后项与前项相比,系数乘以-1,分母+2。
(2)按公式得到的结果*4为最终π值
(3)最后一项绝对值大小作为限定条件
2.代码构成:(1)变量设定:各项值(其中变量:系数、分母),各项之和
(2)while循环求出各项值,绝对值作为限定(fabs求绝对值,头文件cmath)
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double s=1,f=1,last=1,sum=0;
//系数s、分母f(涉及乘除法,初始值为1)
//最后一项last(能进入循环,初始值为1)总和sum
while(fabs(last)>1e-7)
{
last=s/f;
sum+=last;
s*=(-1);
f+=2;
}
cout<<sum*4<<endl;
return 0;
}
【总结】
1.解题步骤:分析题目,得到关系和注意点,确定设定变量和运用结构
2.注意:涉及乘除法需初始化为1,循环需能够进入且有结束限制。