🐇斐波那契数列
斐波那契数列,又称黄金分割数列,指的是这样一个数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368……,这个数列从第3项开始,每一项都等于前两项之和。斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
✍递归函数
定义:如果一个函数在内部可以调用其本身,那么这个函数就是递归函数。
简单理解:函数内部自己调用自己, 这个函数就是递归函数。
<script>
// 递归函数
var num = 1;
function fn() {
console.log('我要打印3句话');
if (num == 3) {
return; //递归里面必须加退出条件
}
num++;
fn();//在函数内部自己调用自己
}
fn();
</script>
注意:
递归函数的作用和循环效果一样,由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件return。
👌递归函数求斐波那契数列
<script>
// 题目:利用递归函数求斐波那契数列(兔子序列) 1、1、2、3、5、8、13、21...
// 用户输入一个数字 n 就可以求出 这个数字对应的兔子序列值
// 我们只需要知道用户输入的n 的前面两项(n-1 n-2)就可以计算出n 对应的序列值
function fb(n) {
if (n === 1 || n === 2) {
//当输出的n等于1或2 时,直接返回1,因为前两项的序列值为1
return 1;
}
return fb(n - 1) + fb(n - 2);
}
console.log(fb(3)); //输出结果:2
console.log(fb(6)); //输出结果:8
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/6263.html