在网上看到一个题,顺便练练:
一头奶牛从出生后的第四年开始生育小牛,以后每年生育一头. 给你一头刚出生的小奶牛,20年后共有多少头奶牛!!
奶牛也会单性生殖吗,这...应该算进化吧!
写了写,不知道对不对。
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
//一头奶牛从出生后的第四年开始生育小牛,以后每年生育一头.
//给你一头刚出生的小奶牛,20年后共有多少头奶牛!!
namespace test
{
{
private int age;
public Cow(int age)
{
this.age = age;
}
public int Age
{
set
{
age = value;
}
get
{
return age;
}
}
{
if (Age == 0)
{
return false;
}
if (Age >= 4)
{
return true;
}
else
{
return false;
}
}
}
public class test
{
public static void Main()
{
ArrayList mylist = new ArrayList();
int count = 0;
Cow cow = new Cow(0);
mylist.Add(cow);
for (int iyear = 0; iyear < 20; iyear++)
{
count = mylist.Count;
for (int i = count - 1; i >= 0; i--)
{
Cow mycow = (Cow)mylist[i];
mycow.Age++;
if (mycow.CanBirth())
{
Cow newcow = new Cow(0);
mylist.Add(newcow);
}
}
}
int m = mylist.Count;
Console.WriteLine(m);
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
//一头奶牛从出生后的第四年开始生育小牛,以后每年生育一头.
//给你一头刚出生的小奶牛,20年后共有多少头奶牛!!
namespace test
{
public class Cow
{
private int age;
public Cow(int age)
{
this.age = age;
}
public int Age
{
set
{
age = value;
}
get
{
return age;
}
}
public bool CanBirth()
{
if (Age == 0)
{
return false;
}
if (Age >= 4)
{
return true;
}
else
{
return false;
}
}
}
public class test
{
public static void Main()
{
ArrayList mylist = new ArrayList();
int count = 0;
Cow cow = new Cow(0);
mylist.Add(cow);
for (int iyear = 0; iyear < 20; iyear++)
{
count = mylist.Count;
for (int i = count - 1; i >= 0; i--)
{
Cow mycow = (Cow)mylist[i];
mycow.Age++;
if (mycow.CanBirth())
{
Cow newcow = new Cow(0);
mylist.Add(newcow);
}
}
}
int m = mylist.Count;
Console.WriteLine(m);
Console.ReadKey();
}
}
}
编译得到结果为345