1.使用递归求n的阶乘
function mul(n){
if(n == 1 || n == 0){
return 1;
}
return n * mul(n-1);
}
mul(5);
mul(5) ==> 5 * mul(4);
mul(4) ==> 4 * mul(3);
mul(3) ==> 3 * mul(2);
mul(2) ==> 2 * mul(1);
...
注意点:
1.找规律(符合人的思维过程)
2.找出口(以已知条件)
递归优点:(特别复杂的程序不能使用递归)
1.只能让代码更加简洁
2.使用递归实现斐波那契数列
//fb(n) = fb(n-1) + fb(n-2);
function fb(n){
if(n == 1 || n == 2){
return 1;
}
return fb(n-1) + fb(n-2);
}
fb(5) ==> fb(4) + fb(3);
fb(4) ==> fb(3) + fb(2); fb(3) ==> fb(2) + fb(1);
fb(3) ==> fb(2) + fb(1); ...
...