使用递归的条件: 有一定规律
eg, 1,3,5,7,9 ...... ; f(n)=f(n-1)+2 ----不可以这样写(2,4,6,8,10......也满足)
正确表达式; f(n)=f(n-1)+2 f(1)=1;
代码过程
(1):如何调用自己
(2)完整代码:
(运行 求第n项的值)
eg. 斐波那契数列
1,1,2,3,5,8,13,21......(每一项都是前面两项加起来)即f(n)=f(n-1)+f(n-2)------仅仅这一个表达式不行
正确写法 f(n)=f(n-1)+f(n-2) ;f(1)=1; f(2)=1;
代码过程
(1):如何调用自己(这里第二个return后面我打错了,才发现函数是fib 不是f~(
))
(2):完整代码:
(运行第8项,是21)
eg. 计算1到n 的和
f(n)=f(n-1)+n ; f(1)=1;
(1)主体部分:
(2)完整代码
升级啦升级啦~
eg .求数组中各元素和
(注意下标,要是不理解为啥8输进去是45而不是9输进去是45,建议亲亲想想arr从arr【0】开始~就明白啦)
eg. 求数组里面前n项最大值
max(arr,n)
如果n-1项最大值大于n,则最大值在n-1中;
否则n为最大值
出口:如果只有一个数字,它就是最大值!
//灵感来源于 bilibili老师 @正月点灯笼 的课程~