zoukankan      html  css  js  c++  java
  • 【python实例】递归求斐波那契数列——小兔子生小兔子


    最开始一对小兔子
    小兔子成长到第三个月变成成熟兔子
    成熟兔子每个月可以生一对小兔子

    问第n个月有几只兔子?


    1 1 2 3 5 8 13 21 34 55 89 144 ...... 斐波那契数列

    观察发现:每相邻三个数之间的关系: 第三个数 = 前两个数之和

    分析:
      求第n个月的兔子对数 = 第n-1个月兔子的对数 + 第n-2个月兔子对数
      第4个月 = 第3个月 + 第2个月 --> 2 + 1
      第3个月 = 第2个月 + 第1个月 --> 2
      第2个月 = 1
      第1个月 = 1

     1 # 求第n个月兔子的总对数
     2 def get_rabbit_count(n):
     3     if n == 1:
     4         return 1
     5     elif n == 2:
     6         return 1
     7     else:
     8         return get_rabbit_count(n-1) + get_rabbit_count(n-2)
     9 
    10 print(get_rabbit_count(5))  # 5
    11 print(get_rabbit_count(10))  # 55    

      

  • 相关阅读:
    bzoj3302
    bzoj1264
    听风
    bzoj5073
    bzoj2144
    bzoj1263
    bzoj3653
    Docker 入门 2 镜像基本操作
    Docker 入门 1 准备 Docker 环境
    Docker Hub 镜像加速
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12110053.html
Copyright © 2011-2022 走看看