如何获取两个数之间的随机数(random)阿?急!

xzh1980 2005-04-06 08:46:40
比如, 50 - 100之间,我需要5个随机数, 也就是产生5个数在50-100之间的,不重复。 有什么办法吗? javascript中有没有之类的函数?

谢谢
...全文
726 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiqunet 2005-04-07
  • 打赏
  • 举报
回复

又看了一下,两种算法都有不足,要么就采用洗牌算法,50张牌洗完后取前5张就行了……

onlytiancai 2005-04-07
  • 打赏
  • 举报
回复
<script>
var b=new Array();
var end=5;
for(i=0;i<end;i++){
b[i]=Math.round(Math.random()*50)+50;
document.write(b[i] + "<br>")
for(j=0;j<i;j++){
if(b[j]==b[i]){i--;j=i;}
}
}
for(i=0;i<b.length;i++){document.write("---" + b[i] + "<br>")};
</script>

不赖,,收了,哈哈
qiqunet 2005-04-07
  • 打赏
  • 举报
回复
这个算法更好点:
<script>
var b=new Array();
var end=5;//输出5个
for(i=0;i<end;i++){
b[i]=Math.round(Math.random()*50)+50;
for(j=0;j<i;j++){
if(b[j]==b[i]){i--;j=i;}
}
}
</script>
  • 打赏
  • 举报
回复
<script>
var a=new Array(5);
var num=0;
var end=5;//输出5个
for(i=0;i<5;i++){
var tmp=Math.round(100*Math.random()+50);
for(j=0;j<i;j++){
if(a[j]!=tmp) a[i]=tmp;
}
}
</script>
stoneyu 2005-04-07
  • 打赏
  • 举报
回复
Math.round(100*Math.random()+50)
這樣可以産生一個.你要産生五個不同的,這裏提供一點思路,在産生第二個的時候,就和第一個比較是否相同....第三個就和前兩個比較...
qiqunet 2005-04-07
  • 打赏
  • 举报
回复
洗牌算法(如果是从0~10000个数中抽取5000个,这个的效率优势就相当明显了):

<script language="JavaScript">
var end=5;//输出个数
var b=new Array(51);//0~50个数字
var i,tmp,rnd;
for(var j=0;j<b.length;j++){
b[j]=j+50;//生成数组内容
}
i=b.length;
while(i>0){//洗牌
rnd=Math.floor(Math.random()*i);
tmp=b[i-1];
b[i-1]=b[rnd];
b[rnd]=tmp;
i--;
}

for(var j=0;j<end;j++){//输出显示
document.write(b[j]+"<br>");
}
</script>

qiqunet 2005-04-06
  • 打赏
  • 举报
回复

<script>
var a=new Array();
var b=new Array();
var num=0;
var end=5;//输出5个
for(i=0;i<50;i++){
var tmp=Math.round(Math.random()*50);
if(!a[tmp]){
a[tmp]=true;
b[num]=tmp+50;
document.write(b[num]+"<br>");
num++;
}
if(num>=end) i=50;
}
</script>
qiqunet 2005-04-06
  • 打赏
  • 举报
回复

用Math.random产生小于等于 50 的随机数,然后加上50就行了。

fantiny 2005-04-06
  • 打赏
  • 举报
回复
Math.random

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧