第十二章-算法-迭代(共11页).docx

上传人:飞****2 文档编号:14098126 上传时间:2022-05-02 格式:DOCX 页数:11 大小:25.54KB
返回 下载 相关 举报
第十二章-算法-迭代(共11页).docx_第1页
第1页 / 共11页
第十二章-算法-迭代(共11页).docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《第十二章-算法-迭代(共11页).docx》由会员分享,可在线阅读,更多相关《第十二章-算法-迭代(共11页).docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上【程序1】 一个饲养场引进一只刚出生的新品种兔子,这种兔子从出生的下一个月开始,每月新生一只兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,问到第 12 个月时,该饲养场共有兔子多少只?#includemain()int x=1,y,i;while(x=12)y=x*2;x=y;printf(%dtn,x); 【程序2】 阿米巴用简单分裂的方式繁殖,它每分裂一次要用 3 分钟。将若干个阿米巴放在一个盛满营养参液的容器内, 45 分钟后容器内充满了阿米巴。已知容器最多可以装阿米巴 220,220个。试问,开始的时候往容器内放了多少个阿米巴?请编程序算出。 #incl

2、ude#includemain()int i;long x;x=pow(2,20);for(i=1;i16;i+)x=x/2;/printf(%d ,x);printf(%d,x);【程序3】 验证谷角猜想。日本数学家谷角静夫在研究自然数时发现了一个奇怪现象:对于任意一个自然数 n ,若 n 为偶数,则将其除以 2 ;若 n 为奇数,则将其乘以 3 ,然后再加 1 。如此经过有限次运算后,总可以得到自然数 1 。人们把谷角静夫的这一发现叫做“谷角猜想”。 要求:编写一个程序,由键盘输入一个自然数 n ,把 n 经过有限次运算后,最终变成自然数 1 的全过程打印出来。 递归#includeint

3、 fun(int n)if(n=1)printf(%d ,n);return 1; if(n%2=0)printf(%d ,n);return fun(n/2);if(n%2=1)printf(%d ,n);returnfun(n*3+1); main()printf(%,fun(21);迭代方法#includeint fun(int n)int x;while(n!=1)if(n%2=0) x=n/2;else if(n%2=1) x=n*3+1; n=x;printf(%d ,n) ;main()printf(%,fun(9);【程序4】反弹的皮球 一球从的100米高度自由落下,每次落地后

4、反跳回原来高度的一半,再落下,求它在第十次落地时,共经过多少米?第十次反弹多高?#include int main( )float sn=100.0,hn=sn/2;int n;for (n=2; n= (1) ; n+)sn= (2) ;hn= (3) ;printf(第10次落地时共经过%f米n,Sn);printf(第10次反弹%f米n,hn);return 0【程序5】迭代法求正整数m,n的最大公约数和最小公倍数。【程序6】用迭代法求菲波那切数列的前40个数;#include #include int main() int f1,f2,fn; int i; f1=f2=1; fn=0;

5、 printf(斐波那契数列的初值为:); printf(f1=%dtf2=%dtn,f1,f2); /求斐波那契数列f3-f40的值 for(i=3;i=40;+i) fn=f1+f2; printf(f%d=%dt,i,fn); if(i%5=0) printf(n); f1=f2; f2=fn; return 0;【程序7:贪财的富翁】一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱,.,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴

6、,欣然接受了这个契约。请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。提示:(1)需要计算出30天后陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱,然后才能做出判断;(2)想要看得清楚,可以选择列出每一天双方交易获得的钱数。#include int main( )double m2f=1.0e5,f2m=0.01,m2fs=0,f2ms=0;int day=1;/一定要赋初值for(day=1; dayf2ms)printf(陌生人自找);elseif (m2fsf2ms)printf(富翁傻帽了);elseprintf(两人持平,没意思的交易);printf(n);re

7、turn 0;【程序8:在北京买房】现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子?#include int main( )double housePrice=200,salarys=40;double rate = 0.1, salary=40;int year=0;while(year80 & salarys=80)printf(惨,不能算了!);elseprintf(%d年可以买下,继续努力工作!, year);printf(n);ret

8、urn 0;【程序9】 迭代法开平方:#include#includefloat fun(float a)float x0,x1;x0=a/2;x1=(x0+a/x0)/2;while(fabs(x0-x1)=0.00001)x0=x1;x1=(x0+a/x0)/2;return x1;main()printf(%lf,fun(99);【程序10】迭代法求方程的根 用牛顿迭代法求下面方程在输入初值点附近的根:2x3-4x2+3x-6=0要求前后两次求出的x的差的绝对值小于10-6牛顿迭代法公式如下:f(x)=2x3-4x2+3x-6=0f(x0)=f(x0)/(x1-x0)所以x1=x0-f(

9、x0)/f(x0)。.#include #include int main() double x0,x1, f, fd; scanf(%lf,&x1);do x0=x1;f = 2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6; fd = 6 * x0 * x0 - 8 * x0 + 3; x1 = x0 - f / fd; while (fabs(x0-x1) =1e-6); printf(%.6f, x1); return 0; .【程序11:Bessel函数】Bessel函数Jn(X)有以下的递推关系:编写程序,利用递推关系,由任意的n和x0求Jn(X)。#include #include int main( ) double jn, j0, j1, x; int n, i; scanf(%d %lf, &n, &x); j0=sin(x)/x; j1=sin(x)/(x*x) - cos(x)/x; for (i=2; i=n; i+) jn=(2*i-1) * j1 / x - j0; /见后注 j0 = j1; j1 = jn; printf(Jn = %.4fn, jn); return 0;注:变量jn代表的实际是公式中的jn+1,推导一下,2*i-1,而不是2*i+1,这是对的专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁