
汉诺塔VB的心得体会
汉诺塔这个问题,在考虑它递归的时候,别想着我们真实移动的步骤,我当时也总是觉得很乱。
你要这样考虑:1, 2, 3最初都在1上,最后要移动到3上。
所以把除了最后一块都移动到2上,最后一块移动到3上,再把2的都移动到3上。
这个过程就结束了。
那怎么把东西都移动到2上呢,你假设,2在3的位置,1还是1, 3在2的位置,这样顺序变成了:1, 3, 2。
问题就变成了如何把1上的都移动到2上,道理还是一样,就是,把除了最后一块的所有块都移动到3上,把最后一块移动到2上,再把3上面的所有块移动到2上。
这样就能抽象出一个过程:1.移动多块到2的位置上. \\\/\\\/hanoi(n-1,one,three,two);n-1块,从1到2,只看第2个和第4个参数,one,two就是从1到2.2.移动一块到到3的位置上. \\\/\\\/move(one,three);3.移动在2的位置上的多块到3的位置上. \\\/\\\/hanoi(n-1,two,one,three);n-1块,从2到3,只看第2个和第4个参数,two,three就是从2到3.递归都有一个最终结束的条件,这里就是n=1的时候,也就是只有一个汉诺塔块的时候,只有一个的时候,肯定是从1直接移动到3了。
抽象成函数,就是void hanoi(int n,char one ,char two,char three){ if(n==1) move(one,three); else { hanoi(n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); }}void move(char x,char y){ printf(%c-->%c\\\ ,x,y);}
汉诺塔该怎么玩,方法
根据你的程序 当n=3 不满足n=1条件 所以走else 然后执行hanoi(n-1,one,three,two); \\\/\\\/ 2 A C Bmove(one,three); \\\/\\\/调用move函数 输出 c-->Bhanoi(n-1,two,one,three); \\\/\\\/ 1 A B C 至于你说为什么此时n=1不执行if(n==1)是因为你的程序if和else没有在一个循环中,程序只会判断一次,如果你加一个while(n-1!=0)或者for循环在if前面才会不停检验n的值
汉诺塔对小孩有什么好处
开发孩子智力的汉诺塔游戏 最近,儿子玩《牙牙学语》里的汉诺塔游戏,前几天能移动3、4个环的,昨天竟然能移动5个环了,让我很惊喜。
看来孩子的潜力是无穷的。
也顺便网上搜索整理了一些有关汉诺塔的资料,主要是汉诺塔游戏的玩法和技巧。
希望对家长和孩子有点帮助。
汉诺塔的由来汉诺塔是印度的一个古老的传说。
开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。
经计算移动圆片的次数为18446744073709551615次,看来,众僧们耗尽毕生精力也不可能完成金片的移动。
有预言说,这件事完成时宇宙会在一瞬间闪电式毁灭。
后来,这个传说就演变为汉诺塔游戏:1.有三根杆子A,B,C。
A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上《汉诺塔》游戏玩的规则 1、把组成“金塔”的圆片按照下大上小依次放在中央的柱子上;2、每次只能移动一个圆;3、在移动过程中,大圆不能压在小圆上面;4、每次移动的圆只能放在左中右的位子;5、将整座“金塔”移到另外任意一根柱子上即告胜利。
益智器具课龙生九子
龙生九子是指龙生九个儿子,九个儿子都不,各有不同。
所谓龙生九子,并非龙恰好生九子。
在中国传统文化中,以九来表示极多,九又是贵数,所以用来描述龙子。
龙有九子这个说法由来已久,但是究竟是哪九种动物一直没有说法,直到明朝才出现了各种说法,如、等。
[龙生九子说法]:出自明朝 老大——囚牛(qiú niú),老二——睚眦(yá zì),老三——嘲风(cháo fēng)老四——蒲牢(pú láo),老五——(suān ní),——赑屃(bì xì)老七——狴犴(bì àn),老八——负屃(fù xì),老九——螭吻\\\/鸱尾(chī wěn\\\/chī wěi)[说法二]: 老大——赑屃(bì xì),老二——螭吻\\\/鸱尾(chī wěn\\\/chī wěi),老三——蒲牢(pú láo)老四——狴犴(bì àn),老五——饕餮(tāo tiè),——(gōng fù)老七——睚眦(yá zì),老八——(suān ní),老九——椒图(jiāo tú)有的说法还把螭、麒麟、朝天吼(犼)、貔貅也列入龙子之一。



