数据结构-打印整数的递归例程 可刷新运行 刷新

最近在看数据结构与算法这本书,将程序用PHP实现出来

代码:

function print_out($n,$b){
    if($n>=10){
         $b=print_out($n/10,$b);
    }
    $b[]=$c=$n%10;
    echo $c."\n";
    return $b;
}


print_out(9876543210,[]);
echo "<h1>递归的四条基本法则<h1>";
echo "<h2>1.基准情形。必须总有某些基准情形,它无须递归就能解出<h2>";
echo "<h2>2.不断推进。对于那些需要递归求解的情形,每一次递归 调用都必须要使求解状况朝接近基准情形的方向推进。</h2>";
echo "<h2>3.设计法则。假设所有的递归调用都能运行。</h2>";
echo "<h2>4.合成效益法则(compound interest rule)。在求解- 个问题的同一 实例时,切勿在不同的递归调用中做重复性的工作。</h2>";

输出:

9 8 7 6 5 4 3 2 1 0

递归的四条基本法则

1.基准情形。必须总有某些基准情形,它无须递归就能解出

2.不断推进。对于那些需要递归求解的情形,每一次递归 调用都必须要使求解状况朝接近基准情形的方向推进。

3.设计法则。假设所有的递归调用都能运行。

4.合成效益法则(compound interest rule)。在求解- 个问题的同一 实例时,切勿在不同的递归调用中做重复性的工作。