陕西特产网

汉诺塔10层最快玩法(汉诺塔1到10层解法层)

10层的汉诺塔怎么玩?

/*给你个程序,你运行一下就知道了呵呵*/#include<stdio.h>voidhanuota(intn,chara,charb,charc){if(1==n){printf("将%d从柱子%c移动到柱子%c ",n,a,c);}else{hanuota(n-1,a,c,b);printf("将%d从柱子%c移动到柱子%c ",n,a,c);hanuota(n-1,b,a,c);}}intmain(void){intn;chara=“A“;charb=“B“;charc=“C“;printf("请输入所要移动的盘子的层数:");scanf("%d",&n);hanuota(n,a,b,c);return0;}

汉诺塔1到9最快分别是几次? 可以告诉我计算方法吗?

1层:1次2层:3次3层:7次4层:15次5层:31次6层:63次7层:127次8层:255次9层:511次计算公式:f(x)=2^x-1扩展资料计算公式推导过程如下:假设有n个圆盘,移动次数为f(n),根据经验,f(1)=1,f(2)=3以3层为例,进行推导。可把整个过程分成三步,其中三个圆盘分别用A、B、C、代替且A的半径<B的半径<C的半径1、把A、B移到中间的柱子,需要f(2)步2、把C移动到第三根柱子,需要1步3、把A、B再移动到第三根柱子,需要f(2)步所以f(3)=f(2)+1+f(2)=7同理,当圆盘数量为4时,三个步骤分别需要f(3)步、1步、f(3)步,即f(4)=f(3)+1+f(3)=15由此可得递推公式:f(x+1)=2*f(x)+1进一步可以通项公式:f(x)=2^x-1参考资料来源:百度百科-汉诺塔

本文链接:http://www.shangdian8.com/fangchan/8635.html

版权声明:站内所有文章皆来自网络转载,只供主题演示使用,并无任何其它意义!

发表评论

提交评论

还没有评论,快来说点什么吧~

联系客服
网站客服 业务合作 QQ交流
182111886
微信号
微信号
微信号
返回顶部