递归练习
(一)阶乘:
方法:1. 找规律
2. 找出口 必须用一个已知的数去替代最后的式子
eg:实现n的阶乘
function jc(n){
if(n == 1){
return 1;
}
return n * jc(n - 1);
}
规律:n! = n * (n - 1)!; n的阶乘 = n * (n-1)的阶乘
出口:最后都用1的阶乘作为出口
注意: 1) 0的阶乘:1
2)负数没有阶乘
(二)斐波那契数列:
eg: 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);
}
规律:第n位 = 第n-1位 + 第n-2位