亢一飞 发表于 2021-6-7 18:52:57

递归和迭代

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

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

a = input("输入刚开始有几只兔子:")
result = fab(int(a))
if result != -1:
      print("总共有%d对小兔崽子诞生!"% result)
迭代:def fab(n):
      n1 = 1
      n2 = 1
      n3 = 1

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

      while (n-2) > 0:
            n3 = n2 + n1
            n1 = n2
            n2 = n3
            
      return n3

a = input("输入刚开始有几只兔子:")
result = fab(int(a))
if rusult != 1:
      print("总共有%d对小兔崽子诞生!"% result)
        那么哪个的速度比较快呢?回复看答案!{:10_256:}
**** Hidden Message *****

imoc 发表于 2021-8-1 11:43:50

多谢楼主分享

Rachel31445810 发表于 2021-8-1 15:32:14

谢谢
页: [1]
查看完整版本: 递归和迭代