- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
for ( 初值表达式1 ; 条件表达式2 ; 增量表达式3 ) { 语句序列 } Fibonacci数列: 假定有一只母兔,从第三个月开始下小兔,每月下一只,且下出的小兔全是母兔,小兔也从第三个月开始下小兔,且全是母兔。这样就形成数列:1,1,2,3,5,8,13,21,34,…… 此数列的特点是,从第三项开始,每项都等于前两项之和。 分析: 1 1 2 3 5 8…… 第一次: f1 + f2 f1(新) f2 + f1 f2(新) 第二次: f1 + f2 f1 (新) f2 + f1 f2 (新) …… 补例6-1 利用Fibonacci数列求黄金分割法中的参数k( k ≌ 0.618034)。 分析: (1)k=lim(fn-1/fn) n→∞ (2)可以使用循环来解决此问题,但我们不能循环无穷多次,否则就成了死循环。 (3)可以用前后两次求得的结果的差值的绝对值来控制结果的精度。即用fabs(k2-k1)=1e-5作为循环结束条件。 #include math.h #includestdio.h void main() { float f1,f2,f3,k1,k2; f1=1.0;f2=1.0; do { k1=f1/f2; f3=f1+f2; k2=f2/f3; f1=f2; f2=f3; } while(fabs(k2-k1)1e-5); printf(k2=%f\n,k2); } 补例6-2 猴子第一天摘下若干个桃子,立即吃了一半又多吃了一个,第二天又将剩下的桃子吃了一半又多吃了一个,以后每天都吃前一天剩下的一半零一个。到第10天再想吃时,只剩下一个桃子了。求第一天共摘下多少桃子? #include stdio.h void main() { int x1,x2,i; x2=1; printf(10:%8d\n,x2); for(i=9;i=1;i--) { x1=(x2+1)*2; printf(%2d:%8d\n,i,x1); x2=x1; } } 穷举法 补例6-3“百钱买百鸡”。是我国古代数学家张丘建提出的一个著名的数学问题。鸡公一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,公、母、雏各几何? 穷举法补例6-4:打印出所有水仙花数:水仙花数是一个3位数,其各位数字的立方和等于该数。 为什么书上用k=sqrt(m); i=k 假定m=a*b,即m能被a整除,则必能被b整除。设a=b, 则a*a=m=b*b a=?m=b,找到了小因子,也就找到了大因子。所以检查到k=sqrt(m); 就可以了。 例6.9求100-200内的全部素数 习题课 习题6.1 输入两个正整数m,n,求其最大公约数和最小公倍数。 #include stdio.h void main() { int m,n,x,t; printf(m,n=?); scanf(%d,%d,m,n); if (mn) { t=m;m=n;n=t; } x=m; while (x=1) { if (n%x==0 m%x==0) { printf(最大公约数=%d\n,x);break; } else x=x-1; } printf(最小公倍数=%d\n,m*n/x); } #include stdio.h void main() { char c;int sz=0,zm=0,kg=0,qt=0; printf(请输入一串字符:); while((c=getchar())!=\n) { if(c=Ac=Z||c=ac=z) zm++; else if(c=0c=9) sz++; else if(c== ) kg++; else qt++;
原创力文档


文档评论(0)