js关于饮料瓶换饮料的算法
原题:一种瓶装饮料,4个空瓶可以换一瓶饮料,有九个小朋友,
想每个人都喝一瓶饮料,至少需要买几瓶饮料就可以啦。
现在把这题升级为算法题:
输入人数,和几个瓶子换一瓶饮料,得出最优结果
在这道算法题上,相当于,每三瓶饮料,解决四个人,向商家借了
借了一个饮料瓶,并且把空瓶全部用完
达到最优解,但是人数,可能会存在有余数的情况
需要具体分析,分析如下:
代码如下:
1 cc.Class({ 2 extends: cc.Component, 3 4 properties: { 5 }, 6 7 // LIFE-CYCLE CALLBACKS: 8 9 onLoad () { 10 for (let index = 8; index < 1001; index++){ 11 this.init(index, 4); 12 } 13 }, 14 15 // people为人数 16 // num为几个瓶子换一瓶饮料 17 init(people, num) { 18 let d = people % num; //取余数,不能取整,则表示多出来多少人 19 let temp = Math.floor(people / num); //向下取整,余数已经计算过,在此忽略余数的影响 20 let total = temp * (num - 1) + d; 21 console.log(people,"个人,至少需要:", total + ",瓶饮料"); 22 }, 23 24 start () { 25 26 }, 27 28 // update (dt) {}, 29 });