在csdn数据结构看到个热门帖子,奶牛问题:
一只刚出生的小牛,4年后生一只小牛,以后每年生一只。
现有一只刚出生的小牛,问20年后共有牛多少只?
我算出来的是345只,跟答案一致。
用递归写了下算法,自己感觉挺不好理解的。不知道有没有不用递归的算法,或者递归程序写的比较好理解的。
以下是代码:
private int StatCount(int year)
{
int bornCount;
if(year<4)
{
bornCount = 1;
}
else
{
int sum = 1;
for(int i=4; i<=year; i++)
{
sum += StatCount(i-4);
}
bornCount = sum;
}
return bornCount;
}
{
int bornCount;
if(year<4)
{
bornCount = 1;
}
else
{
int sum = 1;
for(int i=4; i<=year; i++)
{
sum += StatCount(i-4);
}
bornCount = sum;
}
return bornCount;
}