题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

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))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务