汉诺塔问题与函数递归调用_第1页
汉诺塔问题与函数递归调用_第2页
汉诺塔问题与函数递归调用_第3页
汉诺塔问题与函数递归调用_第4页
汉诺塔问题与函数递归调用_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

猜年龄 3岁 比第1个大2岁 比第2个大2岁 比第3个大2岁 比第4个大2岁 age 4 2 age 3 2 age 2 2 age 1 2 第5个小朋友几岁 一个函数在它的函数体内调用它自身称为递归调用 这种函数称为递归函数 递归调用定义 一个函数在它的函数体内调用它自身称为递归调用 这种函数称为递归函数 递归函数调用定义 算法设计如下 1 编写求年龄的函数age 2 判断n 1时 返回值3 3 判断n 2时 函数age调用age n 1 2 intage intn 求年龄函数 if n 1 return3 elsereturnage n 1 2 函数程序如下 4 编写主调函数 调用递归函数 main 主函数 intfage fage age 5 printf 第五个小朋友的年龄为 d岁 n fage 递归函数调用自身 一个函数在它的函数体内调用它自身称为递归调用 这种函数称为递归函数 递归函数调用定义 源程序如下 调用过程如下 age 5 age 4 2 age 3 2 age 2 2 age 1 2 3 3 2 5 5 2 7 7 2 9 9 2 11 语句编写 intage intn 求年龄函数 if n 1 return3 main 主函数 intfage fage age 5 printf 第五个小朋友的年龄为 d岁 n age 运行结果 第五个小朋友的年龄为11岁 elsereturnage n 1 2 汉诺塔游戏 有三根杆子A B C A杆上有N个 N 1 穿孔圆盘 盘的尺寸由下到上依次变小 要求将所有圆盘移至C杆 移动的过程始终保持大盘在下 小盘在上的原则 A C B A C B 实例分析如下 1 A C 汉诺塔游戏 有三根杆子A B C A杆上有N个 N 1 穿孔圆盘 盘的尺寸由下到上依次变小 要求将所有圆盘移至C杆 移动的过程始终保持大盘在下 小盘在上的原则 A C B 实例分析如下 1 A B 2 A C 3 B C 汉诺塔游戏 有三根杆子A B C A杆上有N个 N 1 穿孔圆盘 盘的尺寸由下到上依次变小 要求将所有圆盘移至C杆 移动的过程始终保持大盘在下 小盘在上的原则 A C B 实例分析如下 1 A C 2 A B 3 C B 4 A C 5 B A 6 B C 7 A C 2个盘子从A B 2个盘子从B C 汉诺塔游戏 有三根杆子A B C A杆上有N个 N 1 穿孔圆盘 盘的尺寸由下到上依次变小 要求将所有圆盘移至C杆 移动的过程始终保持大盘在下 小盘在上的原则 1 A C 只有1个盘子时 2个盘子时 1 A B 2 A C 3 B C 3个盘子时 1 A C 2 A B 3 C B 4 A C 5 B A 6 B C 7 A C 函数源程序如下 语句编写 voidhanoi intn charA charB charC if n 1 printf c c n A C 2个盘子从A B 2个盘子从B C 4个盘子时 2 A C 1 3个盘子从A B 3 3个盘子从B C 2 A B 1 2个盘子从A C 3 2个盘子从C B 2 B C 1 2个盘子从B A 3 2个盘子从A C 1 A B2 A C3 B C 4 A B 5 C A6 C B7 A B 8 A C 9 B C10 B A11 C A 13 A B14 A C15 B C 12 B C 函数源程序如下 voidhanoi intn charA charB charC if n 1 printf c c n A C 函数源程序如下 voidhanoi intn charA charB charC if n 1 printf c c n A C 多个盘子算法设计如下 1 把n 1个盘子由A B 2 把第n个盘子由A C 3 把n 1个盘子由B C main 主函数 intn scanf d else han

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论