2017-03-29 6 views
0

ランダム値を1または2にする確率コントロールを設定する方法はありますか?私が時間の70%以上を1にする必要があるとすれば、rand(1,2)で2を得るチャンスは30%だけです。出来ますか?数が7より大きい場合乱数1または2を得る確率を設定する

+3

[修正確率で乱数を生成]の可能複製(http://stackoverflow.com/questions/21572363/generate-random-numbers-withを-fix-probability) – Shogunivar

答えて

1

110間の番号を生成し、そして、あなたがしたい番号を取得するには70%とチャンスの30%を持っています1

x = rand(1, 10); 
if(x > 7){ 
    return 2; 
} 
else { 
    return 1; 
} 

他のリターン、2戻ります

+0

これは完全に単純なトリックです。正確には私のクエリと一致しています..ありがとう:) –

0

均一に分布した乱数を生成し、ifで数値をフィルタリングしないのはなぜですか?

int x,r; 

r=rand() % 100;   // r in the range 0 to 99 
if(r<=70){x=1;} 
else{x=2;} 
0

これはトリックを行う必要があります。

function yourrand($prob) { 
     $r = rand(); 
     if ($r < $prob) { return 1; } 
     else { return 2; } 
} 
関連する問題