<script type="text/javascript">
var b1=Math.round(Math.random())
var b2=Math.round(Math.random())
var b3=Math.round(Math.random())
var b4=Math.round(Math.random())
var b5=Math.round(Math.random())
//当b1、b2同时为0时,输出3组此时b1、b2、b3、b4、b5的随机值
//如:00101、00110、00001
</script>
------解决方案--------------------
不明白什么叫输出3组?
------解决方案--------------------
var b1,b2,b3,b4,b5;
for(var i=1;i < 4;){
b1=Math.round(Math.random());
b2=Math.round(Math.random());
b3=Math.round(Math.random());
b4=Math.round(Math.random());
b5=Math.round(Math.random());
if (b1 == 0 && b2 == 0) {
console.log();//输出b1-b5的值
i ++;
}
}
------解决方案--------------------
有输出内容就见鬼了。
------解决方案--------------------
var _al,
_count = 0;
for(;;){
_al = [
Math.round( Math.random() ),
Math.round( Math.random() ),
Math.round( Math.random() ),
Math.round( Math.random() ),
Math.round( Math.random() )
];
if( _al[ 0 ] == 0 && _al[ 1 ] == 0 ){
console.log( _al.join("") );
if( ++_count >= 3 ){ break; };
};
};
------解决方案--------------------
var arr = [];
while(arr.length<3)
{
var n = ((~~(Math.random()*32))
------解决方案--------------------
32).toString(2).replace(/./g,",$&").slice(3);
if(n.indexOf("0,0")==0)
arr.push(n);
}
alert(arr.join(";"));
------解决方案--------------------
我可以理解为输出两个0外加3个随机01么?
大家讨论一下。
从概率角度分析,反正0和1出现的概率都是0.5,用循环去跑,直到b1和b2相等,和b3 b4 b5没有任何关系,他们的是相互独立的事件。因此:
for(var i=0; i<3; i++) {
document.write('第'+(i+1)+'组:');
document.write('0');
document.write('0');
document.write(Math.round(Math.random()));
document.write(Math.round(Math.random()));
document.write(Math.round(Math.random()));
}
这样一来,感觉好无聊了啊。
------解决方案--------------------
我可以理解为输出两个0外加3个随机01么?
我也是这么觉得,不过楼主可能有别的用意
------解决方案--------------------
对呀,也就是说,前两个是固定的,就是0,所以我可以直接输出。再然后,后三个数的随机性和前两个是独立的,也就是说,后三个数的随机性不受前两个是否为0而影响。
因此,随机一组b1~b5直到b1=b2=0,此时的b3~b5的情况,与固定b1 b2为0,只随机一次b3~b5的情况,从概率上说,完全没有差异的。
再次强调,随机这5个数是相互独立的事件,不管是不是一个批次得到的,都没有关系的,因为他们不会相互影响。因此,没有必要随机5个数直到b1=b2=0。