js酒瓶经典问题算法实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js酒瓶经典问题算法实现</title>
</head>
<body>

</body>
<script>
    // 题目:一瓶啤酒5块,5个瓶盖能换一瓶酒,3个瓶身换一瓶酒,100块能买几瓶酒
    var allJiu=0; //最终总酒数量
    function computed(jiuNum,lidNum,bottleNum) {
        // jiuNum  酒数量
        // lidNum  剩余总瓶盖数
        // bottleNum  剩余总瓶子数
        var lid=Math.floor(lidNum/5);
        lidNum=lidNum-lid*5+lid;  //剩余总瓶盖数


        var bottle=Math.floor(bottleNum/3);
        bottleNum=bottleNum-bottle*3+bottle+lid;  //剩余总瓶子数
        lidNum=lidNum+bottle;//更新剩余总瓶盖数

        allJiu=allJiu+jiuNum+bottle+lid;//更新已买酒总数量


        if((Math.floor(lidNum/5)==0)&&(Math.floor(bottleNum/3)==0)){
            console.log(allJiu)
            console.log(lidNum)
            console.log(bottleNum)
            var obj={allJiu:allJiu,lidNum:lidNum,bottleNum:bottleNum}
            console.log(obj)
            return obj
        }else{
            computed(0,lidNum,bottleNum)
        }
    }

    function money(mon){
        var jiuNum=lidNum=bottleNum=Math.floor(mon/5);
        computed(jiuNum,lidNum,bottleNum)
    }

    money(100)

</script>
</html>

猜你喜欢

转载自blog.csdn.net/ddwddw4/article/details/82918477