php 求解走楼梯的算法

设 有50阶楼梯的。一次可以 1阶 或 2阶.求一共有几种走法。求迭代和递归法。 代码能不能打印每一次走法的每一步是几阶? 譬如 1-2-1-1-2...,1-1-1-1...,.共N种走法

http://www.cfanz.cn/index.php?c=uc/topic&a=read&id=1366

class Atairs{
private static $numStep=1;
public function goStep($num){

    if($num>1){
        $step=mt_rand(1,2);
        $laststep=$num-$step;
        echo "第".self::$numStep."次走了".$step."步,还有".$laststep."步<br>";
        static::$numStep++;
        self::goStep($laststep);
    }elseif ($num==1) {
        echo "第".self::$numStep."次走了".$num."步,还有0步<br>";
        self::goStep(0);
    }else{
        echo "走完了";
    }
}

}

$obj=new Atairs();
$obj->goStep(50);