题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
'''
1,2,3,4,5,6
1,1,2,3,5,8
'''
#一、使用递归
n = int(input())
def rabbit(n):
if n<=2:
return 1
else:
return rabbit(n-2)+rabbit(n-1)
print(rabbit(n))
#二、使用动态规划
n = int(input())
dp=[0]*(n+1)
dp[1]=1
dp[2]=1
def rabbit(n):
for i in range(3,n+1):
dp[i]=dp[i-2]+dp[i-1]
return dp[n]
print(rabbit(n))
# print(dp)
#三、一次循环
n = int(input())
def rabbit(n):
one,two,three = 1,0,0
for i in range(n-1):
one,two,three = two+three,one,two+three
return one+two+three
print(rabbit(n))
查看13道真题和解析