zoukankan      html  css  js  c++  java
  • js 递归

    原博客地址:https://blog.csdn.net/genius_yym/article/details/53945766

    一、知识说明

    function fun()
    {
        // 自己调用自己,称为递归调用
        fun();
        console.log("m2");
    }
    fun();

    二、函数+变量

    //求n个数字的和,5 计算1+2+3+4+5
            var sum = 0;
            for (var i = 1; i <= 5; i++) {
                sum += i;
            }
            console.log(sum);
    
    
            //递归实现:求n个数字的和   n=5--->  5+4+3+2+1
            function getSum(x) {
                if (x == 1) {
                    return 1;
                }
                return x + getSum(x - 1);
            }
    
            console.log(getSum(5));
            
            // 用递归 来求 5 的阶乘
            // 定义一个函数,用于求 n 的阶乘
            function func(n)
            {
                if (n == 1)
                {
                    return 1;
                }
                // func(n-1) 因为传递的参数是 n-1,那么就是求 (n-1) 的阶乘
                return n * func(n-1);
            }
            console.log(func(5));

    三、函数+函数

    //斐波拉契题(兔子生兔子题目)--从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少
            // 产量分析:1, 1, 2, 3, 5, 8, 13, 21 。。。
            // 第n个月的兔子总数  =  第n-1个月的兔子总数 + 第n-2个月的兔子总数
            // 问题: 求任意月兔子的总数
    
            function func( n )
            {
                if (n == 0 || n == 1)
                {
                    return 1;
                }
                return func(n-1) + func(n-2);
            }
            console.log(func(22))

    说白了,函数的递归就是在函数中调用自身。概念就是这样了,就看你怎么灵活的调用了。

  • 相关阅读:
    9月9日刷题
    7-4日刷题
    7-3日刷题
    7-2日刷题
    The Key To Accelerating Your Coding Skills
    初识机器学习
    python数据分析与量化交易
    部署远程jupyter
    SQLserver2008一对多,多行数据显示在一行
    kvm虚拟化
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10730199.html
Copyright © 2011-2022 走看看