兔子繁殖问题(python递归解决)
兔子繁殖问题
古典问题:有一-对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个服生一对兔子,假如兔子都不死,用户输入-一个月份数,计算并在- - -行内输出该月的兔子总对数以及前-一个月与该月兔子数量的比值,比值结果保留小数点后3位,数字间用空格分隔。
由上图可以看出,兔子连续两个月会进行一次更替
1月兔代表刚新的兔子,2月代表下个月可以生崽的兔子
我们可以发现,一个月的兔子总数总是可以由它的前两个月的兔子总数确定
一个月的兔子总数=当月出生的兔子总数+下个月可以生崽的2月兔
而
下个月可以生崽的2月兔=上个月的兔子总数
而
当月出生的兔子总数=其实就是上上个月的兔子总数
那么我们就可以根据这个规律进行代码实现
返回当月的兔子总数
# 兔子繁殖问题
def RabbitBreeding(month:int):if month==1:return 2if month==2:return 2else:return RabbitBreeding(month-1)+RabbitBreeding(month-2)
为了完成题目的要求,还需要创建另一个函数
def ratio(month:int):'''返回该月兔子总数与前一个月的比值:param month: 当前月份:return:当月兔子总数 比值'''current=RabbitBreeding(month)ratio_=current/RabbitBreeding(month-1)ratio_str='{:.3f}'.format(ratio_)return f'{current} {ratio_str}'
到此,完美结束
兔子繁殖问题(python递归解决)相关推荐
- 1055: 兔子繁殖问题 Python
1055: 兔子繁殖问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 30740 解决: 19451 [状态] [讨论版] [提交] [命题人:admin] 题目描述 这是一个有趣的古典 ...
- python兔子繁殖问题中如何输出相应月份的数列_斐波那契数列介绍及Python中五种方法斐波那契数列...
Q:斐波那契数列为何那么重要,全部关于数学的书几乎都会提到? A:由于斐波那契数列在数学和生活以及天然界中都很是有用.html 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequ ...
- 【C递归和迭代】兔子繁殖问题、青蛙跳台阶问题和汉诺塔问题
⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏+留言 ⭐系列专栏:C语言初阶 ⭐代码仓库:C Advanced 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们 ...
- C语言/C++常见习题问答集锦(六十四) 之兔子繁殖(递归与非递归)
C语言/C++常见习题问答集锦(六十四) 之兔子繁殖(递归与非递归) 程序之美 1.C语言,计算1乘以3×5*-乘n的积,并输出结果,n值由键盘接收. #include<stdio.h>v ...
- 递归——兔子繁殖问题
兔子繁殖问题:题目描述 有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少? 输入描述: 输入int型表示month 输 ...
- 100个python算法超详细讲解:递归解决年龄问题
[100个python算法超详细讲解]@谷哥技术 1.问题描述 有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁.问 第4个人多少岁,他说比第3个人大2岁.问第3人多少岁,他说比第2个 人大2 ...
- python斐波那契数列前20项_兔子繁殖问题带来的智商碾压:斐波那契数列趣谈
本文来自公众号:超级数学建模 微信号 :supermodeling 原文标题:斐波那契数列趣谈 via 善科 by BB 一般认为斐波那契数列的提出是基于兔子的繁殖问题:如果一开始有一对兔子,它们每月 ...
- 100个python算法超详细讲解:递归解决分鱼问题
1.问题描述 A.B.C.D.E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的 树丛中找地方睡着了.第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的 一条扔回河中,然后拿着自己 ...
- 多种方式解决兔子繁殖问题
兔子繁殖问题: 兔子从出生的第三个月开始繁殖,此后每个月都会繁殖,且每次繁殖都为一对异性兔子. 在封闭环境中,有一对异性刚出生的兔子,不考虑死亡,求一年后有多少对兔子. //通过观察可以发现 //当前 ...
最新文章
- 华三DHCP分配ip
- windows商店_Windows记事本应用现在可以从Microsoft Store中获得
- 分子结构模拟工具UCSF Chimera的安装及基本操作
- mysql 用户与数据_MySQL经验9-用户和数据安全
- 男性最脆弱的五大器官
- VMWare 认证软件存在SSRF漏洞,可用于访问用户数据
- Android Studio安装以及Fetching android sdk component information超时的解决方案
- JWplayer入门及使用
- win7啊,我的纠结,ip啊
- 概率论与数理统计--S2数理统计概念
- RocketMQ(七) RocketMQ的两种消费模式
- i春秋 429-线上赛题(一)Writeup
- centos 磁盘重新分区操作实践
- seaborn散点图_Seaborn散点图–终极指南
- VR全景制作拍摄方法教程
- centos7安装boot分区_图文详解centos Linux系统安装教程
- 大一的java考试试题_华南理工大学大一JAVA复习题
- vue全家桶-组件内部应用守卫简洁版-防止输入框未保存的数据丢失
- 软件测试面试题:请写出电脑的组成及有哪些操作系统?
- 上百个Android开源项目分享 .