作者yesa315 (XD)
看板Grad-ProbAsk
标题Re: [商管] [资结]-河内塔
时间Mon Aug 24 22:04:26 2009
※ 引述《fairwarning (一轮明月与蓝夜!!)》之铭言:
: 请问河内塔的recursive algorithm
void Hanoi (n:disc,A,B,C:peg) 目标:把n个盘子从A柱般到C柱 搬动时大盘
要在小盘下方
: {
: if(n==1)
{
move disc from A to C //只有一个盘子时 直接搬到C柱
: }
: else //大於1个盘子 需递回搬动盘子
: {
Hanoi(n-1,A,C,B); //先把放在A柱前面n-1个盘子搬到B柱 并且以C当作为搬动时
//可以当作暂时放置盘子的地方
move the disc n from A to C; //最後一个在A的最大盘子 直接搬到C柱
Hanoi(n-1,B,A,C); //把放在B柱n-1个盘子搬到C柱 并且以A当作为搬动时
//可以当作暂时放置盘子的地方
: }
: }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.208.156
※ 编辑: yesa315 来自: 140.127.208.156 (08/24 22:06)