递归原理

发布时间:2013-3-15浏览:

核心提示:递归原理

递归由两个步骤组成。

基础步骤:规定这个函数在0处的值。

递归步骤:给出从较小的整数处的值来求出当前的值的规则。

下面以阶剩算法当作示例进行简要说明。

设f(n)为求阶乘n!(n*(n-1)*....1)函数。f(0) = 1为基础步骤, 它是求乘的结束标志。f(n+1) = (n+1)f(n)为递归步骤。 因为f(5) = 5*4*3*2*1, f(4)=4*3*2*1, 所以可以推出f(5) = 5*f(4)。

将上面的数学逻辑转换成程序:

function factorial( num ) {
   
var currentResult;
   
if( num == 1 ) {
        currentResult
= 1;
    }
else {
        currentResult
= num * factorial( num - 1 );
    }
   
return currentResult;
}
var value = factorial( 10 );
alert( value );
//3628800


前一篇:定做程序设计
后一篇:观察者模式与c#中的事件与委托
分享到: