5 6 7 8 9
3
4
6
9
13
思路:找到年份和母牛数量的关系
第一年:A 数量1
第二年:A 1
第三年:A 1
第四年:A:a(1岁) 2
第五年:A:a(2),b(1) 3
第六年:A:a(3),b(2),c(1) 4
第七年:A:a(4),b(3),c(2),d(1) 6
a:aa(1)
第八年:A:a(5),b(4),c(3),d(2),e(1) 9
a:aa(2),ab(1),b:bb(1)
发现:第八年数量等于第七年数量+第5年数量-->a[i]=a[i-1]+a[i-3]
#include <stdio.h>
typedef long long ll ;
int main()
{
int n ;
ll a[100000];
while(scanf("%d",&n)!=EOF &&1<=n&&n<=40)
{
int i,sum ;
a[1]=1;
a[2]=1;
a[3]=1;
a[4]=2;
if(n==1) printf("%d\n",a[1]);
if(n==2) printf("%d\n",a[2]);
if(n==3) printf("%d\n",a[3]);
if(n==4) printf("%d\n",a[4]);
if(n>=5)
{
sum=0;
for(i=5;i<=n;i++)
{
a[i]=a[i-1]+a[i-3];
if(i==n) sum=sum+a[i];
}
printf("%d\n",sum);
}
}
}
原文:https://www.cnblogs.com/cocobear9/p/12405768.html