zoukankan      html  css  js  c++  java
  • 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(python语言)

    # 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    # 斐波那契数列:0,1,1,2,3,5,8,13,21(后面一个数是前面两个数的和)
    # 第1个月 2(1)
    # 第2个月 2(2)
    # 第3个月 2(3)+ 2(1)
    # 第4个月 2(3)+ 2(2) + 2(1)
    # 第5个月 2(3)+ 2(3) + 2(2) + 2(1) + 2(1)
    # 第6个月 2(3)+ 2(3) + 2(3) + 2(2) + 2(2) + 2(1) + 2(1)+ 2(1)
    # 第7个月 2(3)+ 2(3) + 2(3) + 2(3) + 2(3) + 2(2) + 2(2)+ 2(2)+ 2(1)+ 2(1)+ 2(1)+2(1)+ 2(1)
    
    # 月份  1 2 3 4 5  6  7
    # 兔子  2 2 4 6 10 16 26
    # 除二后 1 1 2 3 5  8  13
    while True:
        try:
            i = eval(input('请输入月份:'))
            if type(i) == int and i <= 24:
                if i == 1 or i == 2:
                    print("有2只兔子")
                    break
                else:
                    f1 = 1
                    f2 = 1
                    for f in range(3, i+1):
                        f2, f1 =f1, f1 + f2
                    print('%d' % (f1*2))
                    break
            else:
                print('请输入大于0的正整数')
        except:
            print('您输入的是字符非法,请重新输入:')
            continue
  • 相关阅读:
    贪婪匹配
    洛谷P1219 [USACO1.5]八皇后 Checker Challenge【搜索回溯】
    【数据结构笔记】栈
    数据结构课堂笔记
    DAY1
    小记2020.1.10
    c++复习
    c++用流控制成员函数输出数据
    c++用控制符控制输出格式
    "中国东信杯"广西大学第二届程序设计竞赛E Antinomy与红玉海(二分)
  • 原文地址:https://www.cnblogs.com/shen-qiang/p/8996603.html
Copyright © 2011-2022 走看看