全文预览

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

上传者:梦溪 |  格式:pptx  |  页数:13 |  大小:678KB

文档介绍
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

收藏

分享

举报
下载此文档