利用递归函数求斐波那契数列(兔子数列)

导读:本篇文章讲解 利用递归函数求斐波那契数列(兔子数列),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

🐇斐波那契数列

斐波那契数列,又称黄金分割数列,指的是这样一个数列: 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

(1)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!