实现汉诺塔问题
1.把n-1个圆从A移到C
2.把剩下一个由A移到B
3.再把n-1个由C移到B,完成
<?php
//将所有圆盘从a移到b
function hanuota($n,$a,$b,$c){
global $step;
if($n==1){
$step++;
echo "将圆盘 $n 从 $a 柱子 到 $b 柱子 <br />";
}else{
hanuota($n-1,$a,$c,$b);
$step++;
echo "将圆盘 $n 从 $a 柱子 到 $b 柱子 <br />";
hanuota($n-1,$c,$b,$a);
}
}
//移动的次数
$step = 0;
hanuota(4, 'A', 'B', 'C');
echo "移动次数:" . $step;
?>
网友评论