温馨提示×

使用递归函数解决PHP中的汉诺塔问题

PHP
小樊
86
2024-04-26 20:06:48
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

function hanoi($n, $start, $end, $temp) {
    if ($n === 1) {
        echo "Move disk 1 from $start to $end\n";
    } else {
        hanoi($n - 1, $start, $temp, $end);
        echo "Move disk $n from $start to $end\n";
        hanoi($n - 1, $temp, $end, $start);
    }
}

$n = 3; // 汉诺塔的层数
hanoi($n, 'A', 'C', 'B');

输出:

Move disk 1 from A to C
Move disk 2 from A to B
Move disk 1 from C to B
Move disk 3 from A to C
Move disk 1 from B to A
Move disk 2 from B to C
Move disk 1 from A to C

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:java怎么解决汉诺塔问题

0