在另一个随机数组中省略一个变量随机结果

时间:2011-11-22 15:20:42

标签: jquery

Hy guiz。

好吧Rand1显示0 1和2我需要Rand2才能显示Rand 1号码,省略该号码

var Rand1 = Math.floor(Math.random()*3);

var Rand2 = Math.floor(Math.random()*3);

3 个答案:

答案 0 :(得分:2)

家庭作业?

var Rand1 = Math.floor(Math.random()*3);
var Rand2 = Math.floor(Math.random()*2);
if (Rand2 == Rand1) Rand2 = 2;


Rand1  Rand2
  0      0=>2
  0      1
  1      0
  1      1=>2
  2      0
  2      1

然后发布就好了

Rand2的其他解决方案可能是:

var Rand2 = (Rand1 + 1 + Math.floor(Math.random()*2)) % 3;

答案 1 :(得分:1)

var Rand1 = Math.floor(Math.random()*3);
var Rand2 = Rand1;
while ( Rand2 == Rand1 ){
    var Rand2 = Math.floor(Math.random()*3);
}

我知道英语可能不是您的主要语言,但请在提交问题之前至少使用拼写检查。

我无法对@ benoit的解决方案发表评论,但它没有为Rand2输出均值的统计分布:

P(Rand2 = 0)= 2/6

P(Rand2 = 1)= 3/6

P(Rand2 = 2)= 1/6

答案 2 :(得分:0)

如果你想让Rand2再次进行数学计算(如果它与rand1相同),只需将Rand2放在if语句中即可。

调整了Benoît的代码。

var Rand1 = Math.floor(Math.random()*3);
var Rand2 = Math.floor(Math.random()*2);
if (Rand2 == Rand1) {
    var Rand2 = Math.floor(Math.random()*2);
};

这样,如果Rand2与Rand1相同,它将再次进行计算。