js生成n個和爲固定sum的隨機整數

js生成n個和爲固定sum的隨機整數

隨意寫的,隨意使用

// 本算法僅是爲了做某些演示系統時,生成若干組隨機數,每組的元素個數及總和均固定。
// 隨意寫的,隨意使用
function randGenerator(n, sum) {
  var aryRet = [];
  var fSumTmp = sum;
  var iAcc = 0;
  for (var i = 0; i < (n -1); i++) {
  	var iTmp = Math.ceil(Math.random() * (fSumTmp / 2));
    aryRet.push(iTmp);
    fSumTmp -= iTmp;
    iAcc += iTmp;
  }
  aryRet.push(sum-iAcc);
  return aryRet;
}

console.log(randGenerator(7, 100));		  //[21, 20, 27, 7, 2, 6, 17]


發佈了40 篇原創文章 · 獲贊 9 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章