题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
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)