题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
package main
import (
"fmt"
)
func calculateRabbit(n int) int {
// 本质是斐波那契数列
// dp[i]: 标识第 i 个月的兔子数量
// 第 n 个月的兔子数量为
// 1. 上个月的 dp[n-1]只兔子
// 2. 上上个月的 dp[n-2]只兔子,每只会生出一个小兔子
dp := make([]int, n+1)
for i:=0; i<=n; i++ {
if i <= 2 {
dp[i] = 1
} else {
dp[i] = dp[i-1] + dp[i-2]
}
}
return dp[n]
}
func main() {
var n int
fmt.Scan(&n)
fmt.Println(calculateRabbit(n))
}
// 本题输入一个数字,所以采用 fmt.Scan(&n)
腾讯成长空间 5960人发布