分数 10
全屏浏览题目
切换布局
作者 ZJUTOJ
单位 绍兴文理学院
设想一头小母牛从第4个年头开始每年生育一头小母牛。现有一头小母牛,按照此设想,第n年时有多少头母牛?
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个正整数n(1≤n≤40)。
输出格式:
对于每组测试,输出第n年时的母牛总数。
输入样例:
5
8
15
输出样例:
3
9
129
出处:
ZJUTOJ 1182
#include <stdio.h>
int main()
{
int n ;
int a[100];
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];//规律第八年数量等于第七年数量+第5年数量-->a[i]=a[i-1]+a[i-3]
if(i==n) sum=sum+a[i];
}
printf("%d\n",sum);
}
}
return 0;
}