2 foolman pc foolman_pc 于 2016.09.14 15:07 提问

请教下,怎么用js生成N个随机数,并且这N个随机数的和为1

请教下,怎么用js生成N个随机数,并且这N个随机数的和为1。。。。

6个回答

showbo
showbo   Ds   Rxr 2016.09.14 15:24
已采纳

Math.random()然后累加下,累加超过1剩下的补0什么的。随机够n-1还是不足1,最后一个直接1-之前的和

foolman_pc
foolman_pc 谢谢,已经解决了
大约一年之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2016.09.14 15:11

可以很明确的告诉做不到,也许你该换个方式解决问题,描述一下要解决什么问题要用到这个

foolman_pc
foolman_pc 回复当作看不见: 还是 谢谢了
大约一年之前 回复
qq_29594393
qq_29594393 回复foolman_pc: 是在下孤陋寡闻了,惭愧
大约一年之前 回复
foolman_pc
foolman_pc 弱弱的告诉你,我好像做到了
大约一年之前 回复
sinat_25186077
sinat_25186077   2016.09.14 15:22

这 个不就是 循环 累减 然后重置随机范围吗..

foolman_pc
foolman_pc 谢谢,已经解决了
大约一年之前 回复
u013076997
u013076997   2016.09.14 15:48

java可以这样实现,js仿照这个写就可以了:
int count = 0;
Random r = new Random();
while(10 != count){
int ranom = r.nextInt(10);
if(count + ranom <= 10){
count = count + ranom;
System.out.println("random =" + (double)ranom / 10);
}
}

foolman_pc
foolman_pc 谢谢,已经解决了
大约一年之前 回复
ceil711
ceil711   2016.09.14 15:52

长度为1的线段上随机取N-1个点,将线段分为N份,计算每份长度

foolman_pc
foolman_pc 谢谢,已经解决了
大约一年之前 回复
zuoyifeng1993
zuoyifeng1993   2016.09.14 16:01

Math.random(),方式可以,具体的代码可以百度参考,比较简单

Csdn user default icon
上传中...
上传图片
插入图片