生成22以内的按升序排列5个一组的随机数,但不能出现相同的现象,但不同的组合当中可以出现相同。
例如 :
生成五组
0102030405,0506070809,1017192021,0106091219,0711161920,
每次调用传递一个参数,根据参数生成参数个数的以上类型的随机数。
例如 :
生成五组
0102030405,0506070809,1017192021,0106091219,0711161920,
每次调用传递一个参数,根据参数生成参数个数的以上类型的随机数。
解决方案 »
- 求个JS效果,DIV浮动层顶部加速度掉下,到底部后反弹两下停留在底部。
- 怎么用JS实现,把数组中的数和一个数比较然后替换数组里的这个数?
- 引入js文件
- lang["abcd"]什么意思
- 路过的帮小弟看看
- 请问JS是否支持函数重载?
- 本地被远程iframe的页面,如何得到远程页面的domain?
- 如何做像CSDN这样,可以拉动frameset的边框,左边的树形控件的宽度也跟着变化?来者有分!!!
- 高手帮帮忙:利用局域网上的打印机进行打印,如何写代码??
- 为什么会出错:parent.eventright.window.location('eventright.asp?cnd='+cnd+'&key='+key)
- 这个0040是什么含义?
- JS用激活其他程序窗口,并发送Key控制新的程序--在线等。
//kk每组数据的个数
//mm要获得数据的组数
//max最大值
function test(kk,mm,max)
{
var a=[];
var b=[];
for(var j=0;j<mm;j++)
{ for(var i=0;i<kk;i++)
{
var s=Math.round(Math.random()*(max-1));
s=s.toString().length==1?"0"+s.toString():s.toString();
b.push(s);
}
a.push(b.join(""));
b.splice(0,b.length);
}
return a.join(",");
}
alert(test(5,5,22));</script>
每次调用传递一个参数,根据参数生成参数个数的以上类型的随机数。
没看懂参数是什么,所以用了3个参数
<script>
//kk每组数据的个数
//mm要获得数据的组数
//max最大值var b=[];
function test(kk,mm,max)
{
var a=[]; for(var j=0;j<mm;j++)
{ for(var i=0;i<kk;i++)
{
var num=getnum(max);
b.push(num);
}
var bb=b.sort(function(a,b){if (a > b) return 1;if (a < b) return -1;});
for(var h=0;h<b.length;h++)
{
b.splice(h,1,(b[h].toString().length==1?"0"+b[h].toString():b[h].toString()));
}
// a.push(bb.join("|"));
a.push(bb.join(""));
b.splice(0,b.length);
}
return a.join(",");
}function validate(x) //验证数字是否相同
{
//var s=Math.round(Math.random()*(x-1));
for(var p=0;p<b.length;p++)
{
if(b[p]==x)
{
return true;
}
}
return false;
// return s;
//return s.toString().length==1?"0"+s.toString():s.toString();
}function getnum(x) //得到合法数字
{
var s=Math.round(Math.random()*(x-1));
while(validate(s))
{
s=Math.round(Math.random()*(x-1));
}
return s;
}
alert(test(5,5,22));</script>
<option value="0">请选择</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<script>
function generateRand(count){
if(count>0){
var tempStr = "";
var passed = 0;
while(passed < count){
var value = Math.ceil(Math.random()*22);
if(value<10){
value = "0"+value+",";
}
if(tempStr.indexOf(value)==-1){
tempStr+=value;
passed++;
}
}
alert(tempStr.replace(",",""));
}
}
</script>
<select onchange="generateRand(this.value)">
<option value="0">请选择</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<script>
function generateRand(count){
if(count>0){
var tempStr = "";
var passed = 0;
while(passed < count){
var value = Math.ceil(Math.random()*22);
if(value<10){
value = "0"+value.toString();
}else{
value = value.toString();
}
value+=",";
if(tempStr.indexOf(value)==-1){
tempStr+=value;
passed++;
}
}
alert(tempStr.replace(/,/g,""));
}
}
</script>
<option value="0">请选择</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<script>
function generateRand(count){
if(count>0){
var number = 5;
var outputArray = new Array();
for(i=0;i<count;i++){
var tempStr = "";
var passed = 0;
while(passed < number){
var value = Math.ceil(Math.random()*22);
if(value<10){
value = "0"+value.toString();
}else{
value = value.toString();
}
value+=",";
if(tempStr.indexOf(value)==-1){
tempStr+=value;
passed++;
}
}
outputArray[i]=(tempStr.replace(/,/g,""));
}
outputArray = outputArray.sort();
for(i=0;i<count;i++){
alert(outputArray[i]);
}
}
}</script>
var a=new Array()
var result=new Array();
for(var i=1;i<23;i++)
{
a.push(((i<10)?("0"+i):i))
}
for(var j=0;j<5;j++)
{
temp=Math.floor(Math.random()*22)
result.push(a.slice(temp,parseInt(temp)+1))
}
result.sort();
alert(result)
</script>