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

python生兔子问题(递归算法)_java实现斐波那契数列兔子产子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/164830.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月29日 下午4:36
下一篇 2022年7月29日 下午4:46


相关推荐

  • Xray使用「建议收藏」

    Xray使用「建议收藏」安装过程本文省略,想看安装请看这个——>《Xray安装与使用》20200806,下班前五分钟安装好了,在windows上安装的,后执行了扫描一个url的命令。.\xray_windows_amd64.exewebscan–urlhttp://example.com/–html-outputxray-testphp.html扫了个知道有SQL注入的地址,确实可以扫出来,整了txt和html的报告,都还行。20200807,测试开代理被动扫描。先修改了config.yam

    2022年5月30日
    57
  • 算法模型大全

    算法模型大全隐马尔可夫模型(HMM)http://baike.baidu.com/link?url=_NiQW91Kkdmyla_lyX1C78NVIXnzELO2l4Sr9e6FstHcss6ssmawwwZHXR7MZ_CP8ofgVTBQe-pOhmqZFx2qHKGMM(GaussianMixtureModel)-高斯混合模型http://baike.baidu.com/link?url=4zzM

    2022年6月23日
    29
  • 码农十分钟的音律概述 纯律 五度相生律 十二平均律

    码农十分钟的音律概述 纯律 五度相生律 十二平均律引爱人搞器乐 并且是钢琴调律师 时间长免不了朱赤墨黑 作为一个码农 也自然通了半点音律 十分钟的音律概述 只出干货音乐的核心就声音声音是物体震动产生的空气波 人耳感觉到这个波 好的叫乐音 不好的叫噪音 不管好赖本质是个波 波涉及的概念有频率波长振幅频率与波长成反比 振幅越大声音响度越大 我们拿比较好理解的有弦乐器举例理想中的一根有张力的琴弦震动起来会发出一个单纯频率的声音 弦长

    2026年3月17日
    2
  • 字节跳动正式发布豆包大模型1.8

    字节跳动正式发布豆包大模型1.8

    2026年3月12日
    3
  • vue 设置定时执行函数

    vue 设置定时执行函数varapp=newVue({el:’#app’,data:{},filters:{},created:function(){setInterval(this.timer,1000);…

    2022年7月17日
    77
  • 明翰英国硕士常见词汇与固定搭配V1.2(持续更新)

    明翰英国硕士常见词汇与固定搭配V1.2(持续更新)下面的所有词汇与例句都是在英国留学期间,用到的、听到的、见到的,都是学校、教职人员、同学使用过的,对于高频词汇一定要掌握听说读写。

    2022年10月2日
    5

发表回复

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

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