JQ如何把一个数拆成很多个随机数,总和为这个数本身?

1.比如我现在请求到一个1000,要拆分成60个随机数,而这60个随机数相加刚刚好等于1000?
2.我要在五分钟内从0每隔5秒慢慢加60次到1000,这样可以实现吗?
3.六十次后再次请求一个数,比如是3000,那么,把3000再次拆分成60个随机数,从1000慢慢在五分钟内加到4000
求大神相助

呼啦一阵风
浏览 843回答 1
1回答

哆啦的时光机

function randomDivide(total, nums) {    rest = total;    const result = Array.apply(null, { length: nums })        .map((n, i) => nums - i)        .map(n => {            const v = 1 + Math.floor(Math.random() * (rest / n * 2 - 1));            rest -= v;            return v;        });    result[nums - 1] += rest;    return result;}// testingconst result = randomDivide(1000, 60);console.log(result.join(","));console.log(result.length);console.log(result.reduce((acc, n) => acc + n));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript