题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
思路
- 根据分析每个月兔子的数量,实际为斐波那契数列,前2个元素为1,从第3个元素开始,为前两个元素的和。
3月份:1个兔子a
4月份:1个兔子a
5月份:1个兔子a+生的1个兔子b=2个兔子a、b
6月份:1个兔子a+生的1个兔子b+a又生的1个兔子c=3个兔子a、b、c
7月份:1个兔子a+生的1个兔子b+a又生的1个兔子c+a又生的1个兔子d+b生的1个兔子bb=5个兔子
8月份:.....8
9月份:.....13
10月份:.....21
11月份:....34 - 输入的月份对应斐波那契数列的值
Answer
#include<stdio.h>
int main()
{
int arr[32];
int month;
arr[1]=1;
arr[2]=1;
for(int i=3; i<32; i++){
arr[i] = arr[i-1] + arr[i-2];
}
scanf("%d",&month);
printf("%d",arr[month]);
return 0;
}