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 谢谢,已经解决了
接近 2 年之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2016.09.14 15:11

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

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

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

foolman_pc
foolman_pc 谢谢,已经解决了
接近 2 年之前 回复
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 谢谢,已经解决了
接近 2 年之前 回复
ceil711
ceil711   2016.09.14 15:52

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

foolman_pc
foolman_pc 谢谢,已经解决了
接近 2 年之前 回复
zuoyifeng1993
zuoyifeng1993   2016.09.14 16:01

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何产生m~n范围的随机数 C++
C++的随机数函数为rand(), 可以获得一个非负整数的随机数。 要让随机数限定在一个范围,可以采用模除加加法的方式。 要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式: rand()%(n-m+1)+m 其原理为,对于任意数, 0<=rand()%(n-m+1)<=n-m 于是 0+m<=rand()%(n-m+1)+m<=n-m+m 即 m 但是rand不是真正的随机,
生成N个不同的随机数(C++,范围0~N-1)
做项目的过程往往具有随机选取等过程。此笔记主要给出了随机生成N个不同的随机数的两种方法,然后简单的介绍了C++中随机数主要用到的函数srand,rand和time。最后给出了一个简单的例子,即从一个含有N张图片的文件夹中随机选取K张图片存入另外一个文件夹。 一:产生N个不同随机数的方法 #include #include #include #define N 20 #define K 1
随机生成0到n之间的m个数
如何用随机数生成0到n之间的m个不重复的数 1、最直接的方法就是先随机生成一个0到n之间的数,判断这个数是否已被选上,如果以前没选过,则选上,如果以前已选,则丢弃 void common(int n,int m) { int * randnum=(int *)malloc(n*sizeof(int)); memset(randnum,0,n*sizeof(int)); //把n个位
C++生成n个指定1到 n 不同的随机数
C++生成n个指定1到 n 不同的随机数 最近在课堂上被C++生成随机数的问题搞得头大,想不出结果去网上看别人写的,发现别人的代码,多还乱不利于理解,于是耐下性子研究别人的代码 写出来生成随机数的问题了!  最后发现:唉,太简单的问题被我复杂化了,悲哀! //生成1到n的不相同的随机数,可以是任意数字,这里以10为例 #include #include usi
js生成n个和为固定sum的随机整数
js生成n个和为固定sum的随机整数 随意写的,随意使用 // 本算法仅是为了做某些演示系统时,生成若干组随机数,每组的元素个数及总和均固定。 // 随意写的,随意使用 function randGenerator(n, sum) { var aryRet = []; var fSumTmp = sum; var iAcc = 0; for (var i = 0; i <
算法:如何高效产生m个n范围内的不重复随机数(m<=n)
算法:如何高效产生m个n范围内的不重复随机数(m<=n)
使用js生成n到m间的随机数字
Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w+n, 10) 生成n-m,不包含n但包含m的整数:​ 第一步算出 m-n的值,假设等
利用js产生n个不重复的随机数
假设现在有这样的一个需求:输出10个随机数,这10个随机数的范围是0~100,且这10个随机数并不重复。那么js中怎么实现这个需求呢?
java 求某一区域之间生成n个随机数组
java 求某一区域之间生成n个随机数组
Java-生成N个不同的随机数
思路: 1、先创建一个list集合 2、创建Random对象 2、写出一个while循环将随机生成的随机数放入集合中(放入之前要判断生成的随机数在集合中是否存在,存在则舍弃,不存在则放入集合中去) import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Ra