首页 > 试题广场 >

统计每个月兔子的总数

[编程题]统计每个月兔子的总数
  • 热度指数:255944 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}有一种兔子,从出生后第三个月起,每个月都会生一只兔子,生出来的兔子同理。假设兔子都不死,求解第 n 个月时的兔子总数。

输入描述:
\hspace{15pt}在一行上输入一个整数 n \left(1 \leqq n \leqq 31\right) 代表查询的月份。


输出描述:
\hspace{15pt}在一行上输出一个整数,代表第 n 个月的兔子总数。
示例1

输入

3

输出

2

说明

\hspace{15pt}第一个月时,只有初始兔子(记为 r_0 ),此时兔子总数为 1
\hspace{15pt}第二个月时,依旧只有 r_0 ,此时兔子总数为 1
\hspace{15pt}第三个月时,r_0 开始生兔子(记生出来的兔子为 r_1 ),此时兔子总数为 2
\hspace{15pt}第四个月时,r_0 再生一只兔子,此时兔子总数为 3
\hspace{15pt}第五个月时,r_0 再生一只兔子,与此同时 r_1 也开始生兔子,此时兔子总数为 5
示例2

输入

5

输出

5
python
# coding: utf-8
def func(n):
    if n ==1&nbs***bsp;n==2:
        return 1
    else:
        return  func(n-1) + func(n-2)
if __name__ == "__main__":
    import sys
    n = int(sys.stdin.readline().strip())
    print func(n)


发表于 2022-03-26 12:29:07 回复(0)
while True:
    try:
        def get_rab_num(month, sn=1):
            if month < 3:
                return sn
            else:
                return get_rab_num(month - 2) + get_rab_num(month - 1)
        month = int(raw_input())
        print get_rab_num(month)
    except:
        break
发表于 2022-01-02 13:15:04 回复(0)