一个养牛的问题

记得有次一个表弟问了我一个他寒假作业的一个题目,大概就是有个奶农一开始有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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值