gpt4 book ai didi

javascript - 在Javascript中生成4个随机数,它们添加到某个值

转载 作者:行者123 更新时间:2023-12-03 16:36:53 25 4
gpt4 key购买 nike

我想要一些 javascript,它可以让我生成 4 个随机数,它们加起来为某个值,例如

如果

max = 20

然后
num1 = 4
num2 = 4
num3 = 7
num4 = 5

或者
max = 36

然后
num1 = 12
num2 = 5
num3 = 9
num4 = 10

到目前为止我所拥有的是...
var maxNum = 20;
var quarter;
var lowlimit;
var upplimit;
var num1 = 1000;
var num2 = 1000;
var num3 = 1000;
var num4 = 1000;
var sumnum = num1+num2+num3+num4;

quarter = maxNum * 0.25;
lowlimit = base - (base * 0.5);
upplimit = base + (base * 0.5);

if(sumnum != maxNum){
num1 = Math.floor(Math.random()*(upplimit-lowlimit+1)+lowlimit);
num2 = Math.floor(Math.random()*(upplimit-lowlimit+1)+lowlimit);
num3 = Math.floor(Math.random()*(upplimit-lowlimit+1)+lowlimit);
num4 = Math.floor(Math.random()*(upplimit-lowlimit+1)+lowlimit);
}

最佳答案

此代码将创建四个整数,总和为最大数且不为零

var max = 36;
var r1 = randombetween(1, max-3);
var r2 = randombetween(1, max-2-r1);
var r3 = randombetween(1, max-1-r1-r2);
var r4 = max - r1 - r2 - r3;


function randombetween(min, max) {
return Math.floor(Math.random()*(max-min+1)+min);
}

编辑:这个将创建 thecount总和为 max 的整数个数并将它们返回到一个数组中(使用上面的 randombetween 函数)
function generate(max, thecount) {
var r = [];
var currsum = 0;
for(var i=0; i<thecount-1; i++) {
r[i] = randombetween(1, max-(thecount-i-1)-currsum);
currsum += r[i];
}
r[thecount-1] = max - currsum;
return r;
}

关于javascript - 在Javascript中生成4个随机数,它们添加到某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19277973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com