下载此文档

汉诺塔问题与函数递归调用.pptx


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
【猜年龄】3岁比第1个大2岁比第2个大2岁比第3个大2岁比第4个大2岁age(4)+2age(3)+2age(2)+2age(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)+2age(3)+2age(2)+2age(1)+233+2=55+2=77+2=99+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杆。移动的过程始终保持大盘在下,小盘在上的原则。ACBACB实例分析如下:1、AC【汉诺塔游戏】有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求将所有圆盘移至C杆。移动的过程始终保持大盘在下,小盘在上的原则。ACB实例分析如下:1、AB2、AC3、BC【汉诺塔游戏】有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求将所有圆盘移至C杆。移动的过程始终保持大盘在下,小盘在上的原则。ACB实例分析如下:1、AC2、AB3、CB4、AC5、BA6、BC7、AC2个盘子从AB2个盘子从BC【汉诺塔游戏】有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求将所有圆盘移至C杆。移动的过程始终保持大盘在下,小盘在上的原则。1、AC只有1个盘子时:2个盘子时:1、AB2、AC3、BC3个盘子时:1、AC2、AB3、CB4、AC5、BA6、BC7、AC函数源程序如下:语句编写voidhanoi(intn,charA,charB,charC){}if(n==1)printf("%c->%c\n",A,C);2个盘子从AB2个盘子从BC

汉诺塔问题与函数递归调用 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小678 KB
  • 时间2019-07-19