鱼C论坛

 找回密码
 立即注册
查看: 2786|回复: 2

[技术交流] 递归和迭代

[复制链接]
发表于 2021-6-7 18:52:57 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 亢一飞 于 2021-6-7 18:54 编辑

        还记得小甲鱼做的斐波那契数列吗?有两个版本——递归和迭代。
递归:
  1. def fab(n):
  2.       if n < 1:
  3.             print("输入有误!")
  4.             return -1
  5.       if n == 1 or n == 2:
  6.             return 1
  7.       else:
  8.             return fab(n-1) + fab(n-2)

  9. a = input("输入刚开始有几只兔子:")
  10. result = fab(int(a))
  11. if result != -1:
  12.       print("总共有%d对小兔崽子诞生!"% result)
复制代码

迭代:
  1. def fab(n):
  2.       n1 = 1
  3.       n2 = 1
  4.       n3 = 1

  5.       if n < 1:
  6.             print("输入有误!")
  7.             return -1

  8.       while (n-2) > 0:
  9.             n3 = n2 + n1
  10.             n1 = n2
  11.             n2 = n3
  12.             
  13.       return n3

  14. a = input("输入刚开始有几只兔子:")
  15. result = fab(int(a))
  16. if rusult != 1:
  17.       print("总共有%d对小兔崽子诞生!"% result)
复制代码

        那么哪个的速度比较快呢?回复看答案!
游客,如果您要查看本帖隐藏内容请回复

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-8-1 11:43:50 | 显示全部楼层
多谢楼主分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-1 15:32:14 | 显示全部楼层
谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 23:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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