首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    兔子产子 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个月以上的为老兔子。...总结数列规律即为从前两个月的兔子对数可以推出第3个月的兔子对数 3.算法设计 本题目是典型的迭代循环,即是个不断用新值取代变量的旧值,然后由变量旧值递推出变量新值的过程。...经过问题分析,算法可以描述为 fibn-1 = fiibn-1 = 1(n<3) 初值 fibn = fibn-1 + fibn-2(n≥3) 迭代公式 用 Python 语言來描述迭代公式即为

    40620

    有一对兔子,从出生后第3个月起每个月都一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子对数为多少?

    需求 古典问题:有一对兔子,从出生后第3个月起每个月都一对兔子,小兔子长到第三个月后每个月又生一对兔子假如兔子都不死,问第n个月的兔子对数为多少?...从中找出规律:从第三个月开始,前两个月兔子数之后为第三个兔子总数 预想效果: 输入0月份时,输出错误 请输入需要查询的月份:0 月份输入错误!...,从出生后第3个月起每个月都一对兔子,小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死,问第n个月的兔子对数为多少?...int rabbitSum = 0; //定义上个月的兔子个数 也就是2月兔子的个数 下面会用for循环相加 兔子总对数=上个月兔子对数+上上月兔子对数...for (int i = 3; i <= month; i++) { //兔子总对数=上个月兔子对数+上上月兔子对数 //这个总对数(三月兔子的总对数

    2.9K20

    Python程序模拟手工推算考虑兔子寿命的斐波那契数列

    ,从第3个月开始就每个月一对兔子的每一对兔子长到第3个月也开始每个月都一对兔子,每一对兔子都是这样从第3个月开始每个月一对兔子,那么每个月小明家的兔子数量(对)构成一个数列,这就是著名的斐波那契数列...现在的问题是,如果假设每一对兔子的寿命都是72个月,并且只要活着就坚持每个月一对小兔子。...第一个程序的思路是,每行的数字表示这个月新出生的兔子数量,行的长度表示这些新生兔子存活的月数,这样的话每列数字之和就是这个月的兔子数量(单位:对),如下图所示: ?...第二个程序的思路是,以下图为例,每往下一行往右一列表示兔子长大一个月,行数与兔子寿命月数一样多,第n列的数字之和即为该月兔子总数(单位:对) ?...生成上面Excel文件的Python程序如下,可以通过调整main()函数的参数任意设置兔子从第几个月开始兔子以及兔子的寿命。 ?

    61610

    狼抓兔子

    id=1001 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1...上图中N=4,M=5).有以下三种类型的道路 1:(x,y)(x+1,y) 2:(x,y)(x,y+1) 3:(x,y)(x+1,y+1) 道路上的权值表示这条路上最多能够通过的兔子数...左上角和右下角为兔子的两个窝,开始时所有的兔子都聚集在左上角(1,1)的窝里,现在它们要跑到右下解(N,M)的窝中去,狼王开始伏击这些兔子.当然为了保险起见,如果一条道路上最多通过的兔子数为K,狼王需要安排同样数量的...K只狼,才能完全封锁这条道路,你需要帮助狼王安排一个伏击方案,使得在将兔子一网打尽的前提下,参与的狼的数量要最小。

    77150

    算法详解 - 神奇的兔子数列

    算法知识点 递归、斐波那契数列 算法题目来源 异步社区 算法题目描述 假设第一个月有一对初生的兔子,第2个月进入成熟期,第三个月进行生育兔子,而一对成熟的 兔子每月会生1对兔子兔子永不死去,那么从第一对初生的兔子开始...,12个月后会有多少只兔子?...第1个月,小兔子①没有没有繁殖能力,所以还是1对 第2个月,小兔子①进入成熟期,所以还是1对 第3个月,兔子①生了一对兔子②,于是共有2对兔子 第4个月,兔子①生了一对兔子③,共有3对兔子 …...以此类推 这个数列有十分明显的特点:从第三个月开始, 当月的兔子数量 = 上月兔子数 + 当月新生兔子 当月新生兔子 = 上上个月的兔子 因此,前面相邻两项之和,便构成了后一项,换言之...当月兔子数 = 上月兔子数 + 上上月兔子数 斐波那契数列如下: 1,1,2,3,5,8,13,21,34,… 递归表达式如下: 模板代码 int Fib1(int n){ if

    94130

    原生JS | 当兔子遇到鸡

    HTML5学堂-码匠:当兔子遇到鸡,会怎样呢?先别急,看个小视频~ 视频内容 当兔子遇到鸡 —— 不要害怕和别人不一样,在这个世界上,你就是独一无二的自己!...不知道有多少程序在看到这个小视频的时候,想到的不是“复活节”彩蛋,而是“鸡兔同笼问题”…… 如果你想到的是“鸡兔同笼”,那么恭喜你,至少你不是一个人……(表示看到兔子从蛋里钻出来的时候,竟然完全没有怀疑...鸡兔同笼功能的基本实现 鸡兔计算的核心公式 兔子数量 = 脚数 / 2 - 头数; 鸡数量 = 头数 - 兔子数量。...Tips:当然,如果你考虑用for循环,从1只兔子到N只兔子,一个一个尝试组合,也并非不可,但是循环匹配的方法计算效率实在是太低了,并不推荐。另外,关于公式的“推导”过程,可详见下图: ?...对于此类问题,需要借助数字取整来检测,此处HTML5学堂(码匠)使用的是parseInt方法,针对兔子的数字取整,然后再跟原始的兔子数字比较,如果相同,则原始数字为整数。

    2.1K100

    Python基础训练100题-3

    分享一些Python学习题目 实例011:养兔子 实例012:100到200的素数 实例013:所有水仙花数 实例014:分解质因数 实例015:分数归档 实例011:养兔子 题目:有一对兔子,从出生后第...3个月起每个月都一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?...考虑到三个月成熟,可以构建四个数据,其中:一月兔每个月长大成为二月兔,二月兔变三月兔,三月兔变成年兔,成年兔(包括新成熟的三月兔)等量的一月兔。 month=int(input('繁殖几个月?...,month_1,month_2,month_elder+month_3 print('第%d个月共'%(i+1),month_1+month_2+month_3+month_elder,'对兔子

    27610
    领券