




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
递归法递归算法
递归程序设计是Pascal语言程序设计中的一种重要方法,它使许多复杂的问题变得简单,变得容易解决。递归算法的特点是:函数或过程调用它自己本身。其中直接调用自己称为直接递归;而把a调用b,b调用a的递归叫做间接递归。例1给定n(n≥1),用递归方法计算1+2+3+4+(n-1)+n。【算符分析】
本题可以用递归方法求解,其原因在于它符合递归的三个条件:1、本题是累加问题:当前和等于前一次和加上当前项,并且前一次计算法与其相同。2、给定的n是有限次的递归调用。3、结束条件是当n=1时,s=1。programex1;vars,t:integer;functionfac(n:integer):integer;beginifn=1thenfac:=1elsefac:=fac(n-1)+n;end;beginread(t);s:=fac(t);writeln('s=',s);end.例1给定n(n≥1),用递归方法计算1+2+3+4+(n-1)+n。运行程序,当t=5时,输出结果:s=15,其递归调用执行过程是:(设t=3)主程序…s:=fac(3);writeln(‘s=‘,s);……fac=1n=1fac(1)=1③④…fac=fac(1)+2n=1fac(2)=3②⑤…fac=fac(2)+3n=3fac(3)=6①⑥例2Hanoi汉诺塔问题programex2;varx,y,z:char;n,k:integer;proceduremove(n:integer;a,c,b:char);beginifn=0thenexitelseifn=1thenwrite(k,':from',a,'-->',c);move(n-1,a,c,b);inc(k);writeln(k,':from',a,'-->',c);move(n-1,b,a,c);end;beginwrite('n=');readln(n);k:=0;x:='a';y:='b';z:='c';move(n,x,y,z);end.abcabcabcabcabcabcabcabc一共做了2^n-1次
1、斐波拉切数列;
【问题描述】斐波拉切数列0、1、1、2、3、5、8….,从第三项起,每一项都是紧挨着前两项的和。写出计算斐波拉切数列任意一项的递归程序。(项数n,1=<n<=30)
【输入】10【输出】34上机练习2、倒序数;
【问题描述】用递归算法写程序,输入一个非负整数,输出这个数的倒序数。
【输入】123【输出】321
上机练习3、十进制数转换成八进制数;
【问题描述】用递归算法,把任意给定的十进制整数转换成八进制数输出。
【输入】15【输出】17
上机练习4、求n!值;
【问题描述】用递归算法,求n!的精确值(n以一般整数输入)
【输入】10【输出】10!=3628800
上机练习5、求最大公约数;
【问题描述】用递归方法求两个正整数m和n的最大公约数。(n>500,m>0)。
【输入】86【输出】gcd=2上机练习6、背包问题;
【问题描述】简单的背包问题。设有一个背包,可以放入的重量是s。现在有n件物品,重量分别为w1,w2,…wi(1=<i<=n),均为正整数,从n件物品中挑选若干件,使得放入背包的重量之和正好为s。找一组解救就可以。
【输入】51012345
【输出】number:1weight:1number:4weigth:4number:5wergth:5
上机练习7、2的幂次方;
【问题描述】任何一个正整数都可以用2的幂次方表示。例如:137=2^7+2^3+2^0同时约定用括号来表示方次,即a^b可以表示为a(b)。由此可知,137可以表示为:2(7)+2(3)+2(0)进一步:7=2^2+2+2^0;3=2+2^0所以最后127可以表示为:
2(2(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东汕尾市陆河县高校毕业生就业见习招募15人(第三批)模拟试卷有答案详解
- 2025海南海口市秀英区事业单位招聘59人(第一号)模拟试卷及答案详解1套
- 2025江苏盐城市急救医疗中心招录政府购买服务用工1人模拟试卷附答案详解(黄金题型)
- 企业安全生产培训教育记录表
- 员工绩效评估标准工具
- 2025湖南省社会科学院(湖南省人民政府发展研究中心)招聘高层次人才14人模拟试卷完整参考答案详解
- 2025年金华永康市医疗卫生单位招聘事业单位工作人员39人考前自测高频考点模拟试题及1套参考答案详解
- 2025湖南湘西州泸溪县汇金产业投资集团有限公司招聘工作人员及模拟试卷有答案详解
- 2025甘肃平凉市灵台县公安局面向社会招聘警务辅助人员28人考前自测高频考点模拟试题有完整答案详解
- 租房条件课件
- 怀化注意力培训课件
- 乡镇死因监测管理制度
- ukey使用管理制度
- 《缥缃流彩》教学课件-2024-2025学年沪书画版(五四学制)(2024)初中美术六年级上册
- 2025年中国大唐集团置业有限公司招聘笔试冲刺题(带答案解析)
- 《民营经济促进法》全文学习解读
- 高速公路隧道工程项目施工组织设计
- 华为交付流程管理制度
- 初中数学基础必刷题
- 康复医院介绍课件教学
- 自媒体账号转让合同协议
评论
0/150
提交评论