例如:5个随机数 和为10
因为题主要求不是很清楚,简单写了点,可重复,可为负数,全为整数
function test(counte, result) {
function random(min, max) {
return Math.floor(Math.floor(Math.random() * (max - min + 1)) + min);
}
var arr = [];
var max = result;
for (var i = 0; i < counte - 1; i++) {
var temp1 = random(-result, result);
var temp2 = random(-result, result);
var ran1 = random(temp1, temp2);
var ran2 = random(temp2, temp1);
arr.push(random(ran1*2,ran2*2));
max -= arr.slice(-1)[0];
}
arr.push(max);
return arr;
}
//测试
test(5, 10)
test(5, 10)
test(5, 10)
test(5, 10)
test(5, 10)
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
先随机4个,然后10减除其他四个随机数,就可以了