泰勒展开求π近似值(复杂循环)

【题目描述】

泰勒展开:π/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,循环需能够进入且有结束限制。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值