欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个养牛的问题 博客分类: php  

程序员文章站 2024-02-28 10:40:10
...
记得有次一个表弟问了我一个他寒假作业的一个题目,大概就是有个奶农一开始有1头小牛牛,这小牛三年后能产奶,五年后可以生一个小牛,十年后会死去。如果不及一切意外的话,20年后这个奶农会有多少头牛。我当时也没好的算法。最近不是很忙,就抽空写了个php的脚本,算了下这个题,还有点意思。有兴趣的人可以看下,算法简单,应该不是最好的。

function get_cow_num($year) {
$cow_arr = array(1=>3, 2=>0, 3=>0, 4=>0, 5=>0, 6=>0, 7=>0, 8=>0, 9=>0, 10=>0);

for($i = 0; $i<$year; ++$i){
$old_cow = 0;
for($t=6; $t<11; ++$t) {
$old_cow += $cow_arr[$t];//会生小牛的牛
}
$cow_arr[10] = $cow_arr[9];
$cow_arr[9] = $cow_arr[8];
$cow_arr[8] = $cow_arr[7];
$cow_arr[7] = $cow_arr[6];
$cow_arr[6] = $cow_arr[5];
$cow_arr[5] = $cow_arr[4];
$cow_arr[4] = $cow_arr[3];
$cow_arr[3] = $cow_arr[2];
$cow_arr[2] = $cow_arr[1];
$cow_arr[1] = $old_cow;//初生的小牛
}
$cow_num = 0;
for($j=1; $j<11; ++$j) {
$cow_num += $cow_arr[$j];
}
echo "There are {$cow_num} cows after $year years!<br />";
}

//二十年内每年牛的数量
for($k=1; $k<21; ++$k) {
get_cow_num($k);
}