Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将x分成y部分的随机数,最大值为n_Javascript_Math_Mathematical Optimization - Fatal编程技术网

Javascript 将x分成y部分的随机数,最大值为n

Javascript 将x分成y部分的随机数,最大值为n,javascript,math,mathematical-optimization,Javascript,Math,Mathematical Optimization,有谁能提供一种方法,将一个数字拆分成x个随机部分,每个部分的最大值是多少 即。 待拆分的总数=50 要拆分为的零件数量=10 每个零件的最大val=10 will return something like 3,7,4,6,9,1,2,8,5,5 每个部分在一定程度上都是随机的。不需要统一,只需要y个随机数,加起来就是x,每个部分的最大值 我已经找到这个了 var n = 16; var a = []; while (n > 0) { var s = Math.round(Math

有谁能提供一种方法,将一个数字拆分成x个随机部分,每个部分的最大值是多少

即。 待拆分的总数=50 要拆分为的零件数量=10 每个零件的最大val=10

will return something like 
3,7,4,6,9,1,2,8,5,5 
每个部分在一定程度上都是随机的。不需要统一,只需要y个随机数,加起来就是x,每个部分的最大值

我已经找到这个了

var n = 16;
var a = [];
while (n > 0) {
 var s = Math.round(Math.random() * (n- 1)) + 1;

  a.push(s);
  n -= s;
}
console.log(a);

但这不会给出x个零件的数量。这是一个随机数的零件…

这是一种方法。首先创建一个均匀分布的数组,以获得正确数量的“部分”,然后在其中循环,并为每个“部分”添加一个随机数,同时从另一个随机索引中删除相同的数字

var n=160;
var a=[];
var x=10;
var b=n/x;
对于(var i=0;i
var n=16;
var a=[];
var部分=10;
var maxValuePerPart=10;
for(设i=0;iconsole.log(a);
似乎要点击
意外标识符
例外您希望将16分为10个部分,每个部分的最大值为10?