当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js递归经典案例

js递归经典案例

2020年07月11日  | 移动技术网IT编程  | 我要评论
                                   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;
在这里插入图片描述

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

案例2:猴子吃桃问题:
有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法, 吃掉剩下桃子的一半另加一只,天天如此,到第num(num <= 10)天早,猴子发现只剩一只桃子了,问这堆桃子原来有多少只?(思路:n为还剩n天吃完的桃子数)
在这里插入图片描述案例解析:首先我们以还剩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;

在这里插入图片描述

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

在这里插入图片描述
案例分析:首先进行推导:
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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网