有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛。
function
cows (
$n
) {
$cows
= [1];
for
(
$i
= 1;
$i
<=
$n
;
$i
++) {
// 新出生的牛
$new_number
= 0;
foreach
(
$cows
as
$age
=>
$num
) {
// 4岁到14岁的牛生育新的母牛
if
(
$age
>= 3 &&
$age
<= 13) {
$new_number
+=
$num
;
}
}
// 将新出生的牛加到数组开头
array_unshift
(
$cows
,
$new_number
);
// 取出数组的前20个单元
$cows
=
array_slice
(
$cows
, 0, 20);
}
return
array_sum
(
$cows
);
}