生成 min-max之间n个不重复的随机数
2018-01-16 17:02
218 查看
var getRamdom = function (min,max){ //生成随机数
return Math.random() * (max - min) + min;
}
function dealRepeat(set,min,max){ //去重
if(set.has(undefined)){
set.delete(undefined);
set.add(getRamdom(min,max));
if(!set.has(undefined)){
return set;
}else{
return dealRepeat(set,min,max);
}
}else{
return set;
}
}
function proRamdom(n,min,max){
//生成min-max之间不重复的随机数
var set = new Set();
for(let i = 0 ; i < n; i ++){
let r = getRamdom(min,max);
set.add(r);
set = dealRepeat(set,min,max);
}
return [...set];
}
var arr = proRamdom(3,2,32);
console.log(arr);
return Math.random() * (max - min) + min;
}
function dealRepeat(set,min,max){ //去重
if(set.has(undefined)){
set.delete(undefined);
set.add(getRamdom(min,max));
if(!set.has(undefined)){
return set;
}else{
return dealRepeat(set,min,max);
}
}else{
return set;
}
}
function proRamdom(n,min,max){
//生成min-max之间不重复的随机数
var set = new Set();
for(let i = 0 ; i < n; i ++){
let r = getRamdom(min,max);
set.add(r);
set = dealRepeat(set,min,max);
}
return [...set];
}
var arr = proRamdom(3,2,32);
console.log(arr);
相关文章推荐
- 【Java】随机生成范围[min,max]之间的整数数组,且元素值不重复
- 生成[iLow, iHigh]之间的无重复的iCount个int型随机数
- 0-100 之间 生成50个不重复的随机数, 高效执行
- 生成[iLow, iHigh]之间的无重复的iCount个int型随机数
- set集合 // 生成10-20,之间的10个随机数,要求不能重复
- js生成随机数[min,max]方法
- 根据平均值(期望)生成min与max范围内的等概率随机数
- 如何生成1-10之间不重复的随机数
- C++实现生成1—10000之间的10000个不重复的随机数
- 生成n个从1到M(n <= M)之间的不重复的随机数问题(洗扑克牌算法)
- 查询光猫厂家为ZTE,且内存范围在0到100之间,统计去掉重复的loid之后的数量,并计算出内存的avg,max,min,sum
- 随机生成10个1--20之间的随机数,要求不能重复。(for循环解题)
- [置顶] 获取随机数(max与min之间)
- 生成在[min,max]之间的随机整数
- [js][技巧]生成指定范围指定个数的不重复随机数
- C#练习——去掉字符串两端的空格、统计字符出现的次数及出现的索引位置、随机生成10个1-100之间的不重复的偶数
- java[min,max]之间的随机整数
- C#生成不重复的随机数
- C/C++: 生成不重复的一组随机数
- 生成不重复的随机数