若母牛从其出生第四年(3周年后)开始每年都会生一头小母牛,按这个规律,1头年龄为year的母牛在futureYear个年头后会生几头母牛?
C# Code:
class Cow
{
static void Main(string[] args)
{
for (int i = 0; i <= 10; i++)
{
Console.WriteLine(new Cow(0, i).SonNumber.ToString());
}
Console.ReadKey();
}
public Cow(int year, int futureYear)
{
this.year = year;
this.futureYear = futureYear;
CountSonNumber();
}
private int year;
private int futureYear;
public int SonNumber { get; private set; }
private void CountSonNumber()
{
var leftYears = futureYear;
var currentYear = year;
SonNumber = 1;
while (currentYear < 3)
{
if (leftYears > 0)
{
currentYear++;
leftYears--;
}
else
{
return;
}
}
for (int i = 0; i <= leftYears; i++)
{
Cow newCow = new Cow(0,leftYears-i);
SonNumber += newCow.SonNumber;
}
}
}
Output:
1
1
1
2
3
4
6
9
13
19
28