1. 程式人生 > 其它 >平均分配,場景:把任務平均分配給成員

平均分配,場景:把任務平均分配給成員

技術標籤:javascriptjavascript

1.邏輯:任務 / 成員 = Math.floor(商) 向下取整,開始第一次分配;任務 % 成員 = 餘數,若有餘數,則下標小於餘數的成員,任務+1

2.程式碼:

/**
 * @name aveDis
 * @param {Number} total 分配總數
 * @param {Number} people 線上人數
 * @description 均分任務,剩餘量從頭分配
 */
function aveDis(total, people) {
  let surNum = total % people; //餘數
  let baseNum = Math.floor(total / people); //商-向下取整
  let arr = [];
  for (let i = 0; i < people; i++) {
    arr.push(baseNum + (i < surNum ? 1 : 0));
  }
  return arr; //(3,5)=[1,1,1,0,0]
}