一、递归计算阶乘
function factorial (n){
if(n === 1 || n === 0) return 1;
return n * factorial(n - 1);
}
console.log(factorial(10));
二、斐波那契
function fibonacci(n){
if(n == 0) return 0;
if(n <= 2) return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
console.log(fibonacci(10));
三、斐波那契优化
let memo = [0,1];
function fibonacci(n){
if(memo[n] != null) return memo[n];
return memo[n] = fibonacci(n-1) + fibonacci(n-2);
}
console.log(fibonacci(10));