- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本节主题:
迭代法解题
例:求Fibonacci数列前40个数
Fibonacci数列
第1、2个数为1、1
从第3个数,取其前两个数之和
1 1 2 3 5 8 13 21 34 ...
背景:这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月 起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。 假设所有兔子都不死,问每个月的兔子总数为多少?
n 2
f
f
1 n 1
n 2
f 1
n 2
n 1
n
在“迭代”中求解
#include stdio.h int main()
{
long f1,f2,fn; int i;
f1 = f2 = 1;
printf(%ld\t%ld\t,f1,f2);
//求余下的Fibonacci数
return 0;
}
for(i=3; i=40; i++)
{
fn = f1 + f2; printf(%ld\t,fn); if(i % 5==0)
printf(\n); f1 = f2;
f2 = fn;
}
n 2
f n 2
f n 1
1 n 1
f n 1 n 2
i
fn
f1
f2
1
1
3
2
1
2
4
3
2
3
5
5
3
5
6
8
5
8
7
...
另解:在“迭代”中,赋予变量新的含义
#include stdio.h int main()
{
long f1,f2; int i; f1=f2=1;
for(i=1; i=20; i++)
{
printf(%ld\t%ld\t,f1,f2); if(i%2==0)
printf(\n);
f1=f1+f2; //左f1代表第3个数,是第1、2数之和 f2=f2+f1; //左f2代表第4个数,是第2、3数之和
}
return 0;
}
n 2
f
f
1 n 1
n 2
n 2
n 1
f n 1
另例:求1!+2!+3!+…+20!
i=1,sum=0; while (i=20)
{
f=i!; sum=sum+f; i++;
}
输出sum
i=1,sum=0; while (i=20)
{
f=1, j=1;
while(j=i)
{
f=f*j; j++;
}
sum=sum+f; i++;
}
输出sum
i=1,sum=0; f=1;
while (i=20)
{
f=f*i; sum=sum+f; i++;
}
输出sum
迭代
效率
继续迭代:求级数公式(精确到小数点后5位)
(1)
(2i) (2i 1)
x 2
t termi / termi 1
2! 4! 6! 8!
x 2 x 4 x 6 x 8
x 2 n
( 2 n )!
... ( 1) n
S 1
构造迭代式
直接求解:
推导迭代公式:
(2i)!
x2i
i
term (1)i
(2i) (2i 1)
x 2
termi 1 (1)
termi termi 1 t
No!
x2
(2i) (2i 1)
termi1 (1)
termi termi1 t
4! 6! 8!
2!
x2 x4 x6 x8
x2n
... (1)n
(2n)!
S 1
#include stdio.h
#include math.h
int main()
{
double x, sum=1, term=1; int i=1;//一定要赋初值 scanf(%lf, x); while(fabs(term)=1e-5)
{
term=term*(-1)*x*x/((2*i)*(2*i-1));
sum=sum+term; i++;
}
printf(%f\n, sum); return 0;
}
对比两个正解
int main()
{
double x, sum=0, term=1; int i=1;
scanf(%lf, x); while(fabs(term)=1e-5)
{
sum=sum+term;
term=term*(-1)*x*x/((2*i)*(2*i-1));
i++;
}
printf(%f\n, sum);
}
int main()
{
double x, sum=1, term=1;
int i=1; scanf(%lf, x);
while(fabs(term)=1e-5)
{
term=term*(-1)*x*x/((2*
您可能关注的文档
- 2第三板块单项活动策划藏式面具制作.pdf
- 北理自控复习重点.pdf
- 资料内容课件成果voluson e8expert bt10quotation.pdf
- cw35奥迪销售线索管理.pptx
- 成果数学平均数课件.pptx
- 样本210x285mm aeg交流充电桩单页high.pdf
- 电磁铁的磁力二四川唐老师县级优课.pptx
- 社团介绍动漫社.pptx
- 2017物料发布315活动操作细则.pdf
- 专项智能练习中心理解题.pdf
- 2025天津工业大学师资博士后招聘2人笔试题库带答案解析.docx
- 2025四川中冶天工集团西南公司招聘14人备考题库带答案解析.docx
- 2025四川南充市农业科学院第二批引进高层次人才考核招聘2人备考题库带答案解析.docx
- 2025四川德阳绵竹市人力资源和社会保障局绵竹市卫生健康局卫生事业单位考核招聘专业技术人员41人历年.docx
- 2025云南昭通昭阳区政务服务管理局公益性岗位招聘1人备考题库及答案解析(夺冠).docx
- 2025年西安一附院沣东医院招聘笔试题库附答案解析.docx
- 2025山东临沂市纪委监委机关所属事业单位选聘工作人员10人笔试备考试卷带答案解析.docx
- 2025四川成都市新都区妇幼保健院编外专业技术人员招聘8人历年真题题库附答案解析.docx
- 2025年宝鸡三和职业学院招聘笔试题库(82人)最新.docx
- 2025云南昆明市第二人民医院紧急招聘神经(创伤)外科医师1人历年试题汇编含答案解析(必刷).docx
最近下载
- 微表处配合比报告.doc VIP
- 赣美版美术五年级上册第14课 四格幽默漫画 课件(共16张PPT).pptx VIP
- 流体力学课后习题答案.pdf VIP
- ZQ减速机安装尺寸.pdf VIP
- 北师大版数学一年级上册看图列式应用题练习.pdf VIP
- C425056【基础】2025年厦门大学070704海洋地质《647海洋地质学》考研基础训练110题.pdf VIP
- 深井超深井钻完井技术现状、挑战和“十三五”发展方向.pdf VIP
- 大学生生涯发展展示.pptx VIP
- 2023年中国社会科学评价研究院招聘笔试参考题库附带答案详解.pdf VIP
- 票务岗位招聘面试题与参考回答2025年.docx VIP
原创力文档


文档评论(0)