/* 方法一:递归 */
// function fn1(n){
// if (n<=2){
// return 1;
// }
// return fn1(n-1)+ fn1(n-2);
// }
// console.log(fn1(6));
// 方法二:迭代
// function fb(n){
// let a = 0, b = 1, sum;
// for (let i = 0; i < n; i++){
// sum = a + b;
// a = b;
// b = sum;
// }
// return a; // 这里返回0,是为了保护n=0的情况。
// }
//
// console.log(fb(6));
// 方法三:动态规划
function fb(n){
let dp = [];
dp[0] = 0;
dp[1] = 1;
for (let i = 2; i <= n; i ++){
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n];
}
console.log(fb(6));
09-17
09-17