有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
#include<stdio.h>
int main()
{
int a[20]; //年数
int i=0;
int sum = 0;
while(1)
{
// 读取输入的年份
if (scanf("%d", &a[i]) != 1 )
{
// 输入不是整数或者是0,退出循环
break;
}
if (a[i]<=0 || a[i]>54)
{
// 输入不是整数或者是0,退出循环
break;
}
if(a[i]!=0)
{
//scanf("%d\n",&a[i]);
if(a[i]<4)
{
sum = a[i];
}
else
{
sum = 3;
for(int j=1;j<a[i]-2;j++)
{
sum = sum + j;
}
}
while(getchar()!='\n');
printf("%d\n",sum);
i++;
if (i >= 20)
{
//防止数组越界
break;
}
sum =0;
}
}
return 0;
}
#include <stdio.h>
int main()
{
int n;
int cows[55] = {0}; // 最多计算到第54年
cows[1] = 1;
cows[2] = 2;
cows[3] = 3;
for (int i = 4; i < 55; i++)
{
cows[i] = cows[i - 1] + cows[i - 3];
}
while (1)
{
scanf("%d", &n);
if (n == 0)
{
break;
}
printf("%d\n", cows[n]);
}
return 0;
}