首页 > 代码库 > 递归算法

递归算法

递归算法,程序通过不断调用自身,通过设定临界点,计算出所需要的结果。
汉诺塔算法,操作详细的诠释了递归的精髓,将任务细化。
当前有N个,我采用先移动N-1个,那么结果应该是移动N-1个从$X到$Y, 然后移动第N个到$z,这第N个就不需要再动了,然后再将N-1个盘子从$y移动到$z就算结束,
当N-1等于1,直接从$x到$z

function  hano($n,$x,$y,$z){    if($n  == 1){        echo "move $n from $x to $z ii<br >";    }else{        hano($n-1, $x, $z, $y);        echo "move $n from $x to $z <br>";        hano($n-1, $y, $x, $z);    }}echo hano(8, ‘a‘, ‘b‘, ‘c‘);

拉波斐尔算法

1,1,2,3,5,8,13,21.。。。。。。。。。。。。。。。

function labfer($n){    if($n <=0){        return 0;    }else if($n == 1){        return 1;    }    return labfer($n-1)+labfer($n-2);}