
汉诺塔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);}
关于C语言汉诺塔的理解求帮助
根据你的程序 当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的值
汉诺塔递归问题
#include < 程序执行的顺序Hannoi(7,'a','b','c');这里调用函数,转入函数执行并传入参数n=7第一步,执行判断语句,根据n的值进入else执行第二步,执行Hannoi(n-1,a,c,b);这时是调用函数本身,也就是所谓的递归了,你看传入的值n-1,相当于传入n=6,还有a,c,b,的值,这个要注意顺序,在调用的时候a,c,b的值是第一次传入的值第三步,执行Hannoi(int n,char a,char b,char c)函数,这点能理解吧,这次传入的值n=6了,但是a,b,c,的值相对于第一次的值有改变了哦,可以理解成,a(2)=a(1),b(2)=c(1),c(2)=b(1),这里括号里代表函数调用的次数,其实这里最容易弄混的就是,a,b,c的值,自己用本子把每次传入的值的a,b,c按传入顺序列出来,会容易理解些同样,执行判断,n>1进入else,按顺序执行,先执行Hannoi(n-1,a,c,b);然后又是调用本身,注意传入的值,是a(2),c(2),b(2),又转入去执行Hannoi(int n,char a,char b,char c)函数,这时接收的值a(3)=a(2),b(3)=c(2),c(3)=b(2),就像在兜圈子是吧,没错。 后面你自己做张表来理一下。 这样兜圈子直到n=1。 你看Hannoi(n-1,a,c,b);每次n都是减了1的,所以n-1次递归的时候,就直接执行if(n==1)里面的了,终于有所改变了是吧,他执行的是Move(1,a,c); 也就是输出函数,执行完Move(int n,char x,char y) 返回原来的调用的那个断点。 继续向后。 没有语句了,就返回上次调用的函数,上次调用Hannoi(int n,char a,char b,char c)是谁呢,就是n-2次的Hannoi(int n,char a,char b,char c)中的Hannoi(n-1,a,c,b);调用的他啊,返回到这里,继续向后又遇到Move(n,a,c); 这里不用讲解了吧,输出后返回来,继续向后执行Hannoi(n-1,b,a,c); 新的递归开始了,看你再列个新的表理一下呢,注意传入的值和他的顺序,还有n的值这时是多少。 其实我的讲解你可能看的也不是很清楚,关键是要理解到递归他无非就是调用自己,调用完返回就是返回上次调用的地方,也是他自己,只是俩次的函数使用中的值是不一样的,这个值呢,最好拿笔记下来,并写个次数才容易理解和分析。 这递归程序很经典,值得研究,你会发现他是如此的巧妙,太棒了 建议测试的时候不要把n设的太大,不然容易死机 想想里面的循环次数就真令人咂舌了 星期天,我参观了XX市科技馆。 从外面看,科技馆的北边是一个圆锥形,南边像一个方形的面包。 走进科技馆,里面一共有三层。 其中一层和二层主要是介绍和演示一些科学现象,比如,静电发生器,会弹琴的机器人,地震演示器,音房等。 通过这些演示和介绍,我们很容易知道了一些现象发生的原因。 不光可以观看,我们还可以自己操作,自己体验。 我和别的小朋友一起上了地震演示器,那上面摇晃得非常厉害,把我手里拿的笔和纸都晃掉了,现在我终于知道地震的威力啦。 科技馆的三层展示了一些我们国家的“长征”系列火箭的模型,另外还有一些让小朋友们自己动手制作的活动。 我们去的时候,在科技馆的一楼大厅里,正在展览一些我们小学生自己制作的小发明、小创造。 比如,安全折叠镰刀,换灯泡的工具,自制小更衣室等,这些可都是获得了二等奖以上的小发明小制作。 给我印象最深的是那个换灯泡的工具。 它是一个拖把杆,顶部和右边各装了一个夹子一样的东西,换灯泡的时候,把它对准灯泡,然后拧一个圆的东西,就可以把灯泡拧下来了,这样人就不用站凳子或是梯子了,真是方便。 这些同学小小年纪就发明出了这些有用的东西,将来一定会是出色的发明家,我也要好好向他们学习。 这次参观科技馆,我学到了很多知识,收获非常大。 参观科技馆作文400字 这是我们第二次走进科技馆,但心里还是有些激动,因为在这里我们可以学到很多新的知识,可以解决我们的疑难问题,可以满足我们的好奇心。 我们先走进的教室是《走近爱迪生》教室,这里是一个做小制作、小发明的教室。 老师在大屏幕上放映了几张图片,是几件在生活当中常用的、缺点较多的东西,我们一起争先恐后地讨论了这些东西需要怎么改进。 一会儿,老师给我们每个人发了一次性水杯,叫我们想一想有什么缺点需要怎么改进,叫我们动手做一做。 我端着水杯想了一下,觉得这水杯太轻太薄了,盛满水了可能放不稳,盛热水了可能会烫手。 我灵机一动,从包里拿出来空易拉罐,把易拉罐底部剪了下来,套在杯子底部。 但还是觉得有点轻,我就剪了纸盒子放在杯子底部作垫子,这下比较稳重了。 我们还用一些废旧的东西,做了很多又漂亮又有用的装饰品、玩具等。 我用雪糕棍做了一架小飞机,同学们都夸我做的很棒,我心里美滋滋的。 第二天我们又学到了关于万花筒的知识。 老师叫我们把五层的汉诺塔和六层的汉诺塔的规律找出来,我们想了半天也没找出规律来。 后来老师在投影机上提示了我们一下,我们很快就明白了道理,找出规律来了。 快乐的时间总是过得很快,我们带着很多的收获,依依不舍的离开了科技管馆,希望下学期还能来到这里。 望采纳汉诺塔该怎么玩,方法



