n个随机数 和是固定的 js如何实现?

例如:5个随机数 和为10

阅读 3.3k
2 个回答

先随机4个,然后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)

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题