Description
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。
请编程实现在第n年的时候,共有多少头母牛?
Input
一个正整数n(1<=n<60)
Output
第n年有多少头牛
Sample Input
2
Sample Output
2
solve
1、注意当n达到57以后会超过int的范围;
2、
第n年 | 母牛的数量 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 6 |
6 | 9 |
7 | 13 |
...... | ..... |
得到规律:
a[n]=a[n-1]+a[n-3] (n>=4)
且a[1]=1,a[2]=2,a[3]=3.
代码:
#include<stdio.h>
int main()
{
long long int a[60];
a[1]=1;
a[2]=2;
a[3]=3;
int n;
scanf("%d",&n);
for(int i=4;i<=n;i++)
{
a[i]=a[i-1]+a[i-3];
}
printf("%lld",a[n]);
return 0;
}