- 1、本文档共147页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
七、循环结构的应用示例 P128 例3.18 有一对兔子,出生后第3个月起每个月都生一对兔 子。小兔子长到第3个月后每个月又生一对兔子。假设所有 兔子都不死,问40个月的兔子总数为多少? 这是著名的费波那西(Fibonacci)数列: 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , …… 该数列的特点是: f1 = 1 ,f2 = 1 , fi = fi-1 + fi-2 ( i = 3, 4, 5, …… ) 由该数列可以导出著名的 “黄金分割率” 解题思路: 是计算出该数列的第40项 …… 第2次循环 初始值: f1=1,f2=1 循环计算:f1=f1+f2,f2=f2+f1;终止条件:in/2 书中(P128)的程序,用到的 “循环不变式” 为(每次计算2项): f1 = f1 + f2; f2 = f2 + f1; 循环初始值为:f1=1,f2=1; 循环终止条件为: in/2 该不变式适合于n为偶数的情况,但当n为奇数时会出问题! 思考题: 请你模仿前面的例3.14的方法,找到关于该问题求 解的另外一个“循环不变式”吗?且可以解决奇数问题! 1 , 1 , 2 , 3 , 5 , 8 , 13 , …… f1 , f2 , f1 , f2 , f1 , f2 , f1 , …… + + + + + + ……… 第1次循环 #include stdio.h void main() { long int f1,f2; int i; f1=1; f2=1; for(i=1; i=20; i++) { printf(%12ld %12ld ,f1,f2); if(i%2==0) printf(\n); f1=f1+f2; f2=f2+f1; } } 编程小技巧1:对输出的各行数据如何控制对齐! 编程小技巧2:如何控制一行输出 N 个数据! 例 3.19 素数的判定问题 有一个整数m,判断它是否素数。 解题思路: 所谓素数(或称质数)是指除了1和它本身以外,不能被任何整数整除的数 例如17是素数,因为它不能被2到16间任一整数整除 因此判断一个整数m是否素数,只需把m被2到m-1之间的每一个整数去除,如果都不能被整除,那末m就是一个素数 P130 编程小技巧:学会判断素数的经典算法! 用m去除2到 之间的每一个整数,如果都不能被整除,那末m就是一个素数 。 假 假 真 i=i+1 输入m i=2 i ≤ 真 m被i整除 i 输出是素数 真 输出不是素数 假 用m去除2到 之间的每一个整 数,如果都不能 被整除,那末m 就是一个素数 。 #include stdio.h #include math.h void main() { int m,i,k; printf(“number:); scanf(“%d”,m); k=(int)sqrt(m); for (i=2;i=k;i++) if (m%i==0) break; if (ik) printf(%d prime\n,m); else printf(%d not prime\n,m); } number: 17↙ 17 prime 编程小技巧1:对强制类型转换的使用! 编程小技巧2:如果循环终止的可能性(条件)不止一个的话,那么在循环退出后,有时需要判断是哪种可能性退出了循环? 思考题: 该程序的结构 不是很好, 你能改进吗? #include stdio.h #include math.h void main() { int m, i, k, flag=1 ; /* flag =1表示m是素数;flag =0 表示m不是素数*/ printf(“number:); scanf(“%d”,m); k=(int)sqrt(m); for (i=2;i=k;i++) if (m%i==0) { flag=0; break; } /* break; */ if ( flag ) /* if (ik) */ printf(
您可能关注的文档
- 混凝土排水沟分项开工预案.doc
- 基于单片机与单片机之间传输温度数据的串行通信预案.doc
- 反应槽施工方案预案.doc
- 第2章系统的数学模型02答题.ppt
- 32m现浇箱梁移动模架过孔施工工艺细则研讨.doc
- 第2章系统管理与企业应用平台答题.ppt
- 经纬网学案MicrosoftWord文档预案.doc
- 党政类模板答题.ppt
- 32车载网络技术--车载网络系统研讨.ppt
- 3D打印建筑试卷.ppt
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)