子程序调用与宏定义的异同_看漫画学C++037:自定义函数(3)

1908d63f3e3cc77c0ad31c8562634b4a.png

点击蓝字 关注我们

本话内容

请输入

计算中编程中的函数可以理解为是一种子程序,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。函数是一种子程序,利用函数名称可以调用它来完成特定任务。

在这一集中,我们将了解什么是递归函数,递归函数的2个特点:一是自己调用自己,二是有限制条件。

ca7a09bf6e2abf87571833aad41ca632.png 069980612fc6966a10ce204877f9d7db.png a3688ce66a546cf2e9f28c24e4b1f388.png 385a57e891c8ac3dbd8ae7de0059ce9b.png 80ab3f2280f0cc9c453f4273632598ee.png a738ac35ab6492c76499b92183a565ff.png 5c916634735aae82eb560f79c0fbc00d.png f56f5823542ef8b40235a2c9e1ba4c0a.png e0455d610e28d3f32a2109a9a8ad3453.png 595ef617c79f93f4c06aba8ece550d88.png

递归(英语:Recursion),在数学和计算机科学中是指在函数的定义中使用函数自身的方法。递归的基本思想是某个函数直接或者间接地调用自身,这样原问题的求解就转换为了许多性质相同但是规模更小的子问题。求解时只需要关注如何把原问题划分成符合条件的子问题,而不需要过分关注这个子问题是如何被解决的。

递归函数两个要点

  1. 终止条件:递归不能无限制的递归下去,否则就变成了无限重复

  2. 调用自身:递归需要直接或者间接的调用自身来解决问题

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)。

#include using namespace std;// 定义一个自定义函数,取第n个数的斐波那契数long long fibonacci(long long n) {    // 终止条件:当n为1或者2时,我们知道第1和第2个斐波那契数都是1    if (n==1 || n==2) return 1;    // 调用自身:当n>=3时,对应的斐波那契数是前两个斐波那契数的和    return fibonacci(n-1) + fibonacci(n-2);;}int main() {    // 打印出第10个斐波那契数    cout << fibonacci(10) << endl;    return 0;}

加入“编程玩家俱乐部”知识星球,享受更多精彩内容。

5e89ee2a08c28d8924542d40077ab9c2.png

看漫画学C++

看漫画也能学C++?没错!编程玩家俱乐部新推出系列课程《看漫画学C++》,带你用轻松看漫画的方式来学习C++,本课程面向零基础学员,只要坚持学习并多思考和多练习,相信你一定会成为C++的编程高手!如果喜欢本课程,就收藏一下哦,转发给你的小伙伴们,大家一起来学习!

扫码关注哦

c40150f6dd8e7419a47682a7f74f2782.png

编程玩家俱乐部

微信号 : 编程玩家俱乐部

B站:编程玩家

官网:https://aicodeplayer.com

喜欢本篇内容请给我们点个在看

1908d63f3e3cc77c0ad31c8562634b4a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值