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 });

 

 
posted @ 2021-06-24 06:51  饭桶大叔  阅读(649)  评论(0编辑  收藏  举报