欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js递归经典案例

程序员文章站 2022-07-02 15:37:15
js递归经典案例 首先,我们需要了解什么是递归,递归又具有什么样的特性等等的问题,这些都是我们需要考虑的问题。 递归的问题考虑方法如下: 1.一个是满足结束条件的时候结束函数。 2.一个是不满足结束条件的时候要执行的代码。 3. 首先去找临界值,即无需计算,获得的值。 4. 找这一次和上一次的关系 5. 假设当前函数已经可以使用,调用自身计算上一次案......
                                   js递归经典案例  
   

   首先,我们需要了解什么是递归,递归又具有什么样的特性等等的问题,这些都是我们需要考虑的问题。
   递归的问题考虑方法如下:
      1.一个是满足结束条件的时候结束函数。
      2.一个是不满足结束条件的时候要执行的代码。
      3. 首先去找临界值,即无需计算,获得的值。
      4. 找这一次和上一次的关系
      5. 假设当前函数已经可以使用,调用自身计算上一次

案例1:计算1~n的和?
案例分析:首先我们需要找到就拿1-100的案例的问题来解释,需求sum(100)就需要求出sum(99)加上100即可,以此类推,大约有一种高中数学归纳法,和数列的一些思想,sum(99)=sum(98)+99;以此类推就能得到规律sum(n) = sum(n - 1) + n;
js递归经典案例

案例分析:首先我们需要找到就拿1-100的案例的问题来解释,需求sum(100)就需要求出sum(99)加上100即可,以此类推,大约有一种高中数学归纳法,和数列的一些思想,sum(99)=sum(98)+99;以此类推就能得到规律sum(n) = sum(n - 1) + n;

案例2:猴子吃桃问题:
有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法, 吃掉剩下桃子的一半另加一只,天天如此,到第num(num <= 10)天早,猴子发现只剩一只桃子了,问这堆桃子原来有多少只?(思路:n为还剩n天吃完的桃子数)
js递归经典案例案例解析:首先我们以还剩10天吃完桃子为例子,得出规律 :
peach(10)/2- 1=peach(9)
peach(10)=(peach(9)+1)*2
总结:peach(n)=(peach(n-1)+1)*2

案例3:求:n!
解题思路:1!=11=jice(1);
2!=jice(1)2=jice(2);
3!=jice(2)3=jice(3);

n!=1
2
3…
(n-1)*n=jice(n);

总结规律:jice(n)=jice(n-1)*n;

js递归经典案例

案例4:求1!+2!+3!+4!+…+100!;采用递归的方法去实现。

js递归经典案例
案例分析:首先进行推导:
11=1 aff(1)
1
1+12=3 aff(2)
1
1 +12+123=9 aff(3)
由此总结出规律:aff(n)=aff(n-1)+n!;
然后我们现在需要想办法求出:n!的相应的表达式
1!=1
1=jice(1);
2!=jice(1)=jice(2);
3!=jice(2)=jice(3);

n!=123…*(n-1)*n=jice(n);
进这两番的推导的结合使用 得出:aff(n)=aff(n-1)+jice(n);

本文地址:https://blog.csdn.net/weixin_45664217/article/details/107260389