河内塔在PHP

时间:2014-10-08 07:22:52

标签: php algorithm

我是php的新手,我在舞台上获取每一段PHP代码,并尝试了解它是如何工作的。我从维基百科上发现的一些简单算法开始。

对于河内塔我有:

$i = 1;
function hanoi($plates, $from, $to) {
    global $i;
    while($plates > 0) {
        $i++;
        /* ????? */ $using = 6 - ($from + $to);  
        hanoi(--$plates, $from, $using);
        print "Move plate from $from to $to; ";
        $from = $using;
     }
}

//Arguments: No of plates, From stick(1, 2 or 3),
//To stick(1,2 or 3; except From stick)
hanoi(6, 1, 3);
print " Number of moves: $i";

6来自哪里?

1 个答案:

答案 0 :(得分:0)

6是您正在移动的单个印版的数量,但我认为为了方便起见,它可能会被硬编码到函数中。通常河内有6块板块。

编辑:就像说明一样,尽管查看已经完成的PHP代码是一个好主意,但是自己编写,即使你正在复制它,也会在学习语法方面给你更多的经验除了更好地理解它之外更快