描述
有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。
例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。
假如兔子都不死,问第n个月的兔子总数为多少?
数据范围:输入满足
输入描述:
输入一个int型整数表示第n个月
输出描述:
输出对应的兔子总数
思路:
斐波那契数列:1 1 2 3 5 8 13 21 34 f(n)=f(n-1)+f(n-2) n>2,n从0开始;
step1:创建一个函数,如果n <= 2,返回1;如果n > 2,则调用f(n-1)+f(n-2);
step2:输入一个整数,并调用fn(),打印结果
代码如下:
def fn(n):
if n <= 2:
return 1
else:
return fn(n-2) + fn(n-1)
n = int(input())
print(fn(n))