(未完稿)
阶乘,斐波纳契数列解决的方式用递归比较好。在写递归的时候,有两个小技巧:1.找规律2.找出口
斐波纳契数列的特点:第三个数字等于前两个数字的和。
找规律:1、1、2、3、5、8、13、21、34、……
使用公式 ==>f(n) = f(n-1)+f(n-2)
结束条件==>f(1)=1 ,f(2) =2
解决方案(递归):
function prom(num) {
// 这是计算用户输入的数字以内的斐波纳契数列
for (var i = 1; i<= num; i++) {
console.log(fib(i));
}
}
function fib(num) {
// 递归终止条件
if (num == 1 || num == 2) {
return 1;
}
// 返回当前数字的前两个数的和
return fib(num -1) + fib(num-2);
}
prom(10); // 用户输入的数字