您所在的位置:首页 - PHP - 正文PHP

【php算法】有一母牛,到4岁可生育,每年一头,所生均是一样的母牛...问n年后有多少头牛?

勇康博客网 勇康博客网 05-07 【PHP】 496人已围观

摘要问题:有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛。分析:4岁可生育,那么4岁加上生下的小牛一共两头,生下的小牛再过4年也能生,期间母牛每年还能生一头,不难想到用递归算法function niu($n){    static $num = 1; //定义静态变量,起始母牛数量    for&nbsp

问题:

有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛。


分析:

4岁可生育,那么4岁加上生下的小牛一共两头,生下的小牛再过4年也能生,期间母牛每年还能生一头,不难想到用递归算法

function niu($n)
{
    static $num = 1; //定义静态变量,起始母牛数量
    for ($j = 1; $j <= $n; $j++) {
        if ($j >= 4 && $j < 15) {
            $num++;
            niu($n - $j); //递归计算小牛数量,小牛生长年数为$n-$j
        }
        if ($j == 20) {
            $num--;
        }
    }
    return $num;
}

echo niu(8); //7头


Tags: php php算法 算法 面试

打赏!

分享到:

文章评论 (暂无评论,496人围观)

我的名片

网名:勇康博客网

职业:攻城狮

现居:广东深圳

Email:909199238@qq.com

站长寄语:穷且益坚,不坠青云之志

  • 我的微信
icp赣ICP备2021004727号-2 icp粤公网安备 44030902003287号
取消
微信二维码
微信二维码
支付宝二维码
关注微信公众号 关注微信公众号
132-4242-5235
7*24小时客服电话