<!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>