python生兔子问题(递归算法)_python递归实现斐波那契数列

python生兔子问题(递归算法)_python递归实现斐波那契数列兔子产子1.问题描述有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总对数为多少?2.问题分析兔子产子

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

兔子产子

 

1.问题描述

有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总对数为多少?
 

2.问题分析

兔子产子问题是一个有趣的古典数学问题,我们画一张表来找下兔子数的规律,如下表所示

月数 小兔子对数 中兔子对数 老兔子对数 兔子总对数
1 1 0 0 1
2 0 1 0 1
3 1 0 1 2
4 1 1 1 3
5 2 1 2 5
6 3 2 3 8
7 5 3 5 13

说明:不满1个月的兔子为小兔子,满1个月不满2个月的为中兔子,满3个月以上的为老兔子。

可以看出,每个月的兔子总数依次为1,1,2,3,5,8,13…这就是Fibonacci数列。总结数列规律即为从前两个月的兔子对数可以推出第3个月的兔子对数
 

3.算法设计

本题目是典型的迭代循环,即是个不断用新值取代变量的旧值,然后由变量旧值递推出变量新值的过程。这种选代与这些因素有关:初值迭代公式选代次数。经过问题分析,算法可以描述为
fibn-1 = fiibn-1 = 1(n<3) 初值
fibn = fibn-1 + fibn-2(n≥3) 迭代公式
 
Python 语言來描述迭代公式即为fib=fibl+fib2,其中fib为当前新求出的免子对数,fibl 为前一个月的兔子对数,fib2为前两个月的免子对数,然后为下一次选代做准备,fib②给fib1①给fib2,进行如下的赋值 fib2=fib1, fibl=fib,要注意赋值的次序;选代次数由循环变量控制,为所求的月数。
 

4.完整程序

if __name__=="__main__":
    fib1 = 1
    fib2 = 1
    i = 1
    while i <= 15:  #每次求两个,因此循环变量循环到15
        print("%8d    %8d" %(fib1, fib2), end="      ")
        if i % 2 == 0:
            print()
        fib1 = fib1 + fib2  # 最新一个月的兔子数
        fib2 = fib1 + fib2  # 第4个月的兔子数
        i += 1
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166073.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 国内如何使用谷歌(google)搜索引擎进行搜索?

    国内如何使用谷歌(google)搜索引擎进行搜索?1.可先更新浏览器到最新版本,目前最新V98版本【谷歌浏览器】,密码33602.到【访问助手插件】下载插件,密码同上,下载谷歌访问助手插件。3.地址栏输入chrome://extensions。将

    2022年7月3日
    79
  • 无人驾驶安全报告分析

    摘要随着经济的快速发展,各国汽车保有量急剧增加,促使城市路况更加严峻繁杂,城市交通正面临着前所未有的巨大压力。加之疲劳驾驶、酒后驾驶等人为因素,使世界各国的交通事故率逐年上升,甚至多于世界大战死亡人数。随着汽车技术、信息通信技术与智能控制技术的高效融合,集自动控制、人工智能、体系结构视觉设计等众多技术于一体的无人驾驶汽车应运而生。通过在车辆内安装智能操纵控制系统与感应设备来获取信息用以控制车…

    2022年4月7日
    42
  • web安全书籍_web安全书单

    web安全书籍_web安全书单基础书籍《信息安全标准和法律法规(第二版)》(注:武汉大学出版社)《HTTP权威指南》《HTML5权威指南》《JavaScript权威指南(第6版)》《TCP/IP详解卷1:协议》《SQL编程基础(原书第3版)》《PHP和MySQLWeb开发(第四版)》《PHP安全基础》《PHP应用程序安全编程》《高级PHP应用程序漏洞审核技术》《精通正则表达式(第

    2025年12月9日
    6
  • 一文带你搞清楚USB、type-C、雷电三接口之间的区别与联系

    一文带你搞清楚USB、type-C、雷电三接口之间的区别与联系缘起随着小新pro发布,看到带了全功能的type-c接口,一直搞不懂什么type-c还有什么全功能,半功能?和雷电3又有什么区别,雷电3又有什么全速,半速。由于搞不清,所以网上看了很多资料,这里总结一下以备后续查阅说说usb3.1和雷电3usb接口大家再熟悉不过了,就是我们经常说的这种的但其实这个样子的全称是USBType-A,除此之外还有USBType-B,USBType-C…

    2022年6月16日
    69
  • linux监控系统catic,网络设备监控-Catic添加H3C的监控图解[通俗易懂]

    linux监控系统catic,网络设备监控-Catic添加H3C的监控图解[通俗易懂]网络设备监控-Catic添加H3C的监控图解作者:尹正杰版权声明:原创作品,谢绝转载!否则将追究法律责任。首先,我要声明满足2个条件才能作本篇笔记的操作:第一:你得有台cacti服务器,第二:你得有台交换机,这台交换机需要配置团体名并且可以和你的cacti服务器互通。以上两点我已经在之前的笔记分享过,这里我就不啰嗦啦,直接上图。对了,如果你懒得部署Cacti的话,也可以直接用网上的别人做好的iso…

    2025年7月27日
    4
  • 图片批量重命名编号不带括号的_批量重命名不带括号

    图片批量重命名编号不带括号的_批量重命名不带括号如果你是一名摄影工作者,那么你的电脑里肯定会保存很多的图片,为了更好的整理和保存这些图片,比如一类主题的图片以相同文字命名并且编号,这样就方便以后查找了,解决办法有了,那么怎么给这么多图片命名并编号呢?必须是重命名的放大,这样可以一键修改文件名,但是这样修改后的图片名称虽然有编号,但是编号外面加了一层括号,比较难看,很多小伙伴不想要这个括号,所以今天小编就为大家详细介绍“图片批量重命名编号不要括号”的方法!需要用的工具软件:优速文件批量重命名工具软件下载地址:https://ww…

    2025年9月7日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号