C语言:递归

所谓递归即程序对自身的调用,是过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型的复杂问题层层转化为一个与原问题相似但规模较小的问题来求解。递归只要少量代码就可描述出解题过程中所需要的多次重复计算,大大地减少了程序的代码量。

在函数调用递归时,需要确定两点:一是递归公式,二是边界条件。递归公式是递归求解过程中的归纳项,用于处理原问题以及与原问题规律相同的子问题。边界条件即终止条件,用于终止递归。


案例:

兔子数列:

兔子数列又叫斐波那契数列、黄金分割数列,因数学家列昂那多 · 斐波那契以兔子繁殖为例引出而得名,具体描述如下:一对兔子在出生两个月后,每个月能生出一对小兔子。现有一对刚出生的小兔子,如果所有的兔子都不死,那么一年后共有多少对兔子?

案例分析:

对该问题进行归纳分析。以n表示月份,f(n)表示兔子对数:

当 n = 1时,f(1) = 1;

当 n = 2时,f(2) = 1;

当 n = 3时,f(3) = 1 + 1 = 2;

当 n = 4时,f(4) = 2 + 1 = 3;

当 n = 5时,f(5) = 3 + 2 = 5;

……

以此类推,第 n

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值