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]