zoukankan      html  css  js  c++  java
  • 零基础入门学习Python(23)--递归:这帮小兔崽子

    知识点

    我们都知道兔子繁殖能力是惊人的,如下图:
    这里写图片描述
    我们可以用数学函数来定义:
    这里写图片描述
    假设我们需要求出经历了20个月后,总共有多少对小兔崽子?

    • 迭代实现
    
    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
            n -= 1
        return n3
    
    result = fab(20)
    if result != -1:
        print('总共有%d对小兔崽子' % result)
    
    >>> 
    ================= RESTART: C:UsersThinkPadDesktop	est.py =================
    总共有6765对小兔崽子
    >>> 
    • 递归实现

    这里写图片描述

    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)
    result = fab(20)
    if result != -1:
        print('总共有%d对小兔崽子!' % result)
    
    ================= RESTART: C:UsersThinkPadDesktop	est.py =================
    总共有6765对小兔崽子!
  • 相关阅读:
    java内存泄露
    hbase java api
    配置CRT远程登录
    kafka分区消费模型
    JAVA内存区域
    JVM分代和垃圾回收
    spring中bean的作用域
    分布式RPC
    session共享
    ZooKeeper实现分布式session
  • 原文地址:https://www.cnblogs.com/wanbin/p/9514687.html
Copyright © 2011-2022 走看看