鱼C论坛

 找回密码
 立即注册
查看: 91|回复: 1

除汉诺塔以外,再举一个其他递归的例子

[复制链接]
发表于 2024-5-18 16:20:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
除汉诺塔以外,再举一个其他递归的例子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-18 16:20:31 | 显示全部楼层
好的,除了汉诺塔问题,还有一个常见的递归例子是计算斐波那契数列。

斐波那契数列是指每个数都是前两个数之和的数列。具体来说,斐波那契数列的前几个数是:0、1、1、2、3、5、8、13、21、34......

我们可以使用递归的方式来计算斐波那契数列中的第n个数。下面是一个示例代码:
def fibonacci(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)

# 测试代码,输出斐波那契数列的前10个数
for i in range(10):
    print(fibonacci(i))

在这段代码中,我们定义了一个名为fibonacci的递归函数,并使用if-elif-else语句来处理不同情况下的返回值。当输入参数n小于等于0时,直接返回0;当n等于1时,返回1;其他情况下,递归调用函数本身来计算第n个数的结果,该结果是第n-1个数和第n-2个数的和。

上面的代码会输出斐波那契数列的前10个数,你可以根据需要修改输出的范围。希望这个例子能帮助你理解递归的应用!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-9 17:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表