问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁帮我解释一下河内塔程序?

发布网友 发布时间:2024-10-07 12:42

我来回答

1个回答

热心网友 时间:2024-10-22 09:49

汉诺塔问题是程序设计中的经典递归问题。 算法思路: 1.如果只有一个金片,则把该金片从源移动到目标棒,结束。 2.如果有n个金片,则把前n-1个金片移动到辅助的棒,然后把自己移动到目标棒,最后再把前n-1个移动到目标棒 补充:汉诺塔的算法实现(c++) #include <fstream> #include <iostream> using namespace std; ofstream fout("out.txt"); void Move(int n,char x,char y) { fout<<"把"<<n<<"号从"<<x<<"挪动到"<<y<<endl; } void Hannoi(int n,char a,char b,char c) { if(n==1) Move(1,a,c); else { Hannoi(n-1,a,c,b); Move(n,a,c); Hannoi(n-1,b,a,c); } } int main() { fout<<"以下是7层汉诺塔的解法:"<<endl; Hannoi(7,'a','b','c'); fout.close(); cout<<"输出完毕!"<<endl; return 0; } C语言精简算法 /* Copyrighter by SS7E */ #include<stdio.h> /* Copyrighter by SS7E */ void hanoi(int n,char A,char B,char C) /* Copyrighter by SS7E */ { if(n==1) { printf("Move disk %d from %c to %c\n",n,A,C); } else { hanoi(n-1,A,C,B); /* Copyrighter by SS7E */ printf("Move disk %d from %c to %c\n",n,A,C); hanoi(n-1,B,A,C); /* Copyrighter by SS7E */ } } main() /* Copyrighter by SS7E */ { int n; printf("请输入数字n以解决n阶汉诺塔问题:\n"); scanf("%d",&n); hanoi(n,'A','B','C'); }/* Copyrighter by SS7E */ PHP算法: <?php function hanoi($n,$x,$y,$z){ if($n==1){ move($x,1,$z); }else{ hanoi($n-1,$x,$z,$y); move($x,$n,$z); hanoi($n-1,$y,$x,$z); } } function move($x,$n,$z){ echo 'move disk '.$n.' from '.$x.' to '.$z.'<br>'; } hanoi(10,'x','y','z'); ?> JAVA算法: public class Haniojava { public static void main(String args[]) { byte n=2; char a='A',b='B',c='C'; hanio(n,a,b,c); } public static void hanio(byte n,char a,char b,char c) { if(n==1) System.out.println("move "+a+" to "+b); else { hanio((byte)(n-1),a,c,b); System.out.println("move "+a+" to "+b); hanio((byte)(n-1),c,b,a); } } }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 全民主公北海10布阵攻略介绍_全民主公北海10布阵攻略是什么 全民主公赤壁11关三星通关阵容搭配及打法详解介绍_全民主公赤壁11关三... 哈尔滨海富锦园到三中距离多少米 从哈尔滨道里区到沂南县多少公理 园花寂寞红中文章前后两次描写老友在花园侍弄花草,写法有何变化?这样... 道里区到西大直街492号怎么走 从安化街坐92到北京车站怎么走 指标股什么意思 开口便笑。笑天下可笑之人。 大肚能容。容天下难容之事。 鸟人传游戏介绍 鹅鸭杀呆呆鸟是干嘛的 怎么操作人物角色 ...就是操控一只鸟飞翔,类似地铁跑酷的方向,可以操控它在九宫格的范围... 三七和丹参一起吃有哪些功效及注意事项? 三七和丹参能一起吃吗 微信语音为什么老是黑屏 汤姆跟着他爸爸的姓tom is ( )( )his father 我有个同学姓欧阳他爸爸却姓欧 成龙他爸姓什么? ...日中午1点零五分出生阴历7月13日6.6斤 望各位高手帮忙! 谢谢_百度知... 正宗的贵州茅台酒的口感是什么样的? 微店上买的东西已确认退款了但是卖家已发货让我劝了收货怎么办?_百度... “我是微店卖家,我发货了给买家忘记填物流信息,后来买家申请退款我拒绝... 我是微店卖家,我卖出去两个东西,快递信息显示已经被本人签收两天了现在... ...衣服,已经发出来了。然后不要了。申请退款。可是跟踪记录已经写着退... 怎么在百搜视频下载电视剧 信用卡欠款2000多半年了会被起诉吗? 从现在开始,每个月我可以少还点吗... ...电话来说还要负法律责任,我现在没钱还,只能每个月工资到帐付_百度知... 我有几张信用卡,有时候没按期还,但最多两个月就还了~~想问下这信用有... 有没有人参加过对啊网的教师资格证面试培训的呀,觉得怎么样?2300... 我有个朋友 信用卡欠银行3W多 2年没还 现在已经涨到5W了 今年刚全部还... 单人玩密室逃脱会很害怕吗? 北京平强软件有限公司何时推出首个融资租赁系统平台? 秒钱软件怎么样 如何处理与公婆的关系? 如何清除AI开始界面的历史文件如何清除ai开始界面的历史文件夹 Ai怎么删除痕迹ai怎么删除步骤 变压器直流电阻不平衡对变压器有哪些异常 变压器直阻超标会引发什么故障 求一些情侣头像。要那种低调些的,不容易看出来的。有重赏哦!!! 求求求·。带老公老婆字体又不太明显看不出来的非主流头像。希望不要...