一个街机游戏一局需要投3个币,其中里面可以打下一个大boss和一个巫师,2个boss可以兑换一局,3个巫师可以兑换一局,假设你手里有n个币,你最多可以玩几局游戏?
解:
// 一个街机游戏一局需要投3个币,
// 其中里面可以打下一个大boss和一个巫师,
// 2个boss可以兑换一局,3个巫师可以兑换一局,
// 假设你手里有n个币,你最多可以玩几局游戏?
//
/**
* 计算最后玩几局
* @param numInitCoin 初始币数量
* @param numChangeCoin 一局的花费币的数量
*/
function calcNumGame(numInitCoin, numChangeCoin) {
// 当前手中的游戏币数量
let numCurrent = numInitCoin;
// Boss数量
let numBoss = 0;
// 巫师数量
let numWizard = 0;
// 玩了几局游戏
let numGame = 0;
while (numCurrent >= numChangeCoin){
// 玩了一局...
numGame += 1;
numCurrent -= numChangeCoin;
numBoss += 1;
numWizard += 1;
if (numBoss >= 2) {
numCurrent += 3;
numBoss -= 2;
}
if (numWizard >= 3) {
numCurrent += 3;
numWizard -= 3;
}
}
console.log("最后玩了: ", numGame);
}
calcNumGame(10, 3)
参考:
LeetCode 换酒问题