摘要: 三个塔座,X、Y、ZX上有n个直径大小各不相同从大到小依次编号为n的圆盘,将X塔上的圆盘移到Z塔,要求:*每次只能移动一个圆盘*任何时候不能将较大的圆盘压在较小的圆盘之上算法分析:如果X塔上只有一个圆盘,则直接移到Z轴上即可如果X塔上圆盘个数>1,先将X塔上的n-1个盘借助Z塔依次挪到Y塔上,将X塔上的n盘移到Z塔上以此类推,将Y他上的n-2个盘借助Z塔依次挪到X塔上,将Y塔上的n-1盘移到Z塔上边界条件 Z塔的盘子数量=n算法:伪代码//将x塔上的n个盘子,从X移到Z,用y做辅助void hannoi(int n ,char x,char y,char z){ if(n==1) { m 阅读全文
posted @ 2012-03-01 00:30 KAYAK 阅读(1586) 评论(0) 推荐(0) 编辑