题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
图表说明:
- a1表示a生的第一个兔子, a11表示a1生的第一个兔子,...a_i表示是a_生的第i个兔子。
第i个月 | 兔子情况 | 兔子总数 |
---|---|---|
1 | a | 1 |
2 | a | 1 |
3 | a + a1 | 2 |
4 | a + a1 + a2 | 3 |
5 | a + a1 + a2 + a3 + a11 | 5 |
6 | a + a1 + a2 + a3 + a4 + a11 + a12 + a21 | 8 |
7 | a + a1 + a2 + a3 + a4 + a5 + a11 + a12 + a13 + a21 + a22 + a31 +a111 | 13 |
#include int main(){ int i, month, numb[31] = {1,1,}; scanf("%d", &month); int rabbit = 1; //计算各月兔子总数 for(i=2; i<31; i++){ numb[i] = numb[i-1] + numb[i-2]; } rabbit = numb[month-1]; printf("%d\n", rabbit); return 0; }