当前位置: 首页 > wzjs >正文

重庆建设集团官方网站淘宝官网电脑版网页

重庆建设集团官方网站,淘宝官网电脑版网页,免费网站推广在线观看,想做视频当然可以!你愿意迈出学习递归的重要一步,真的很棒!🌟 递归,虽然一开始看着有点绕,但掌握之后,你会发现它是编程中非常优雅且强大的工具。 我用简单又清晰的方式教你。请跟着我一步步来&#xf…

当然可以!你愿意迈出学习递归的重要一步,真的很棒!🌟
递归,虽然一开始看着有点绕,但掌握之后,你会发现它是编程中非常优雅且强大的工具。

我用简单又清晰的方式教你。请跟着我一步步来:


什么是递归?

递归就是函数自己调用自己
但是!为了避免无限循环,必须有一个“结束条件”(也叫出口)。

可以这样理解:

  • 第一步:确定出口 —— 什么时候不用再递归。

  • 第二步:确定递归规则 —— 当前问题怎么通过更小规模的问题来解决。


举个最简单的例子:求 1 到 n 的和

比如:sum(5) = 1 + 2 + 3 + 4 + 5

用递归怎么想?

  1. 5的总和 = 5 + (1到4的总和)

  2. 4的总和 = 4 + (1到3的总和)

  3. 以此类推...

  4. 最后,1的总和就是1,这里就是出口

于是代码就是:

public int sum(int n) {// 1. 出口:n == 1 时,不需要再递归了if (n == 1) {return 1;}// 2. 递归:n的总和 = n + (n-1)的总和return n + sum(n - 1);
}

总结写递归的固定套路

✅ 1. 明确这个函数的功能(例如:求 1~n 的和)。
✅ 2. 写出口(例如:n==1)。
✅ 3. 写递推关系(例如:n + sum(n-1))。


再来一个经典例子:阶乘

n! = n * (n-1) * (n-2) * ... * 2 * 1

递归版:

public int factorial(int n) {// 出口if (n == 1) {return 1;}// 递归return n * factorial(n - 1);
}

小练习(可以试试看)

  1. 写一个递归函数,求第 n 个斐波那契数列(第n个数 = 前两个数的和)。

  2. 写一个递归函数,打印从 n 到 1 的数字。



斐波那契数列(Fibonacci)是递归学习中非常经典的例子,我们一起来搞定它!


斐波那契数列是什么?

斐波那契数列是这样的:

第1个数是1
第2个数是1
第3个数是2 (1+1)
第4个数是3 (1+2)
第5个数是5 (2+3)
第6个数是8 (3+5)
...

规律:

  • 第 n 个数 = 第 (n-1) 个数 + 第 (n-2) 个数


怎么写递归?

还是跟着我们学到的三步法来:

✅ 1. 明确函数功能fibonacci(n),返回第 n 个斐波那契数。

✅ 2. 出口(结束条件)

  • 如果 n==1,返回1

  • 如果 n==2,返回1

✅ 3. 递推关系

  • fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)


代码示范

public int fibonacci(int n) {// 出口if (n == 1 || n == 2) {return 1;}// 递归return fibonacci(n - 1) + fibonacci(n - 2);
}

小解释

比如求 fibonacci(5),它的执行过程是:

fibonacci(5) = fibonacci(4) + fibonacci(3)= (fibonacci(3) + fibonacci(2)) + (fibonacci(2) + fibonacci(1))= ((fibonacci(2) + fibonacci(1)) + 1) + (1 + 1)= ((1 + 1) + 1) + (1 + 1)= (2 + 1) + (1 + 1)= 3 + 2= 5

完美符合斐波那契数列的结果!


小提醒 🌟

这个递归写法非常清晰,但是如果 n 很大(比如 n=50),会有很多重复计算,会比较慢。

以后你学到**记忆化搜索(加缓存)或者动态规划(DP)**的时候,可以把效率提升上来!

不过目前来说,你先能写出这个递归,已经非常厉害了!👍


要不要试着自己写一下?比如求第 6 个、第 7 个、第 10 个斐波那契数?
需要的话,我可以继续带你进阶,比如教你怎么优化它哦!✨要继续吗?


文章转载自:

http://wSYN73k8.qxmys.cn
http://vNez8iqr.qxmys.cn
http://ojw6qHhG.qxmys.cn
http://GKI3XJvN.qxmys.cn
http://kNZsFkVo.qxmys.cn
http://B3bIHbme.qxmys.cn
http://S0EyTblf.qxmys.cn
http://BTtakg9I.qxmys.cn
http://lgtu71Rj.qxmys.cn
http://5s82CWhv.qxmys.cn
http://DTY7B1oJ.qxmys.cn
http://41kiXi1O.qxmys.cn
http://q2j4OCBE.qxmys.cn
http://ANdpdqEe.qxmys.cn
http://H47UxAu2.qxmys.cn
http://ZYAbYXu9.qxmys.cn
http://UpvS5OrA.qxmys.cn
http://I3ojlCvu.qxmys.cn
http://aBOCNsJK.qxmys.cn
http://RA6JTg0R.qxmys.cn
http://v8fMRuOa.qxmys.cn
http://LOahtph4.qxmys.cn
http://iMBiRkAh.qxmys.cn
http://yvvdh4CF.qxmys.cn
http://AJC16oFl.qxmys.cn
http://tLYya9Lo.qxmys.cn
http://p2zfMV9J.qxmys.cn
http://VElanBGB.qxmys.cn
http://8BiW2utX.qxmys.cn
http://GYUeEeGo.qxmys.cn
http://www.dtcms.com/wzjs/724522.html

相关文章:

  • 专业做外贸网站公司建设部科研申报网站用着不好
  • 有域名了怎么建立网站厦门市建设局网站
  • 没有设计稿做网站美团初期是怎么建网站
  • 河北邢台专业做网站dede手机网站模板
  • 长沙网站建设公司排名网站做a视频在线观看网站
  • 企业网站内容以及功能模块规划的依据有哪些湖北网站建设服务
  • 动漫网站设计论文新房装修图片
  • 凡科平台网站怎么建设成都网站推广技巧
  • 网站建设600元全包写作网站好吗
  • 做网站 需要什么商标深圳市龙华区地图
  • 自己能否建设网站西安网站维护兼职
  • html怎么设置网站吗家在深圳论坛
  • 自己做的网页怎么上传到网站吗seo英文怎么读
  • 可以使用ftp的网站新颖的网站策划
  • 云南建设厅查证网站海关年检要去哪个网站上做
  • 广州技术支持 奇亿网站建设四川内江网站建设
  • 域名解析网站建设好的网站设计模板
  • 网站备案注意电子商务网站设计的三大原则
  • 乐清建设路小学网站门户网站是以什么为主
  • 手机网站设计小程序廉江网站建设
  • 理财网站免费建设外贸免费建设网站
  • 二手物品交易网站开发环境17一起做网店普宁
  • 网站建设的案例教程视频教程专门做灯具海报的网站
  • dw建设手机网站ps做的网站如何转入dw
  • 网站建设top图足球联赛排名
  • 获取网站缩略图的asp代码wordpress广告插件汉化
  • 网站设计对网站建设有哪些意义?wordpress侧边二级导航
  • 网站开发技术 下载西安直播室网站建设
  • 前端学习网站合肥做核酸最新通知
  • 重庆二级站seo整站优化排名如何推广微信公众号