toxic

备忘录

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
function hitted($rate,&$num){
    if (is_string($rate))
        $rate = ( float ) $rate;

    if ($rate > 1)
        throw new ArgumentException('传入的概率值 $rate 必须是 0~1 之间的浮点数或整数(0|1)。', -1);

    $r = 100 * $rate;
    $v = mt_rand(1, 100);

    $num = $v;

    if ($v <= $r)
        return true;
    return false;
}

$i = 0;
$ratio = 0.5;
$_hitted = 0;
for($i=1 ; $i < 101 ; $i++ ){
    $num = 0;
    if(hitted($ratio,$num)){
        print "第 $i 次 随机数 $num 已命中".chr(10);
        $_hitted++;
    }else{
        print "第 $i 次 随机数 $num 未命中".chr(10);
    }
}
print "100次 总共命中 $_hitted 次".chr(10);

 

posted on 2014-06-06 16:06  toxic  阅读(230)  评论(0编辑  收藏  举报