用户每天随机百分60概率算法
问题:每天每个用户有60%的概率获奖
思路:每天生成一个随机码,当天时期*随机码*用户id,得到的数字,取最后一位数(最后一位数字可能是0-9),判断小于4的概率为40%,大于等于4的概率为60%,命中60%则通过
参数说明:
$userid //用户id
$randcode//每天随机码
//判断是否存在随机码,如果不存在则生成 if(Cache::get('randcode')){ $randcode = Cache::get('randcode'); }else{ $randcode = rand(0,9); //随机码有效时间为当天的剩于结束时间 $end_time=strtotime(date("Y-m-d",time()))+60*60*24; $time = $end_time-time(); Cache::set('randcode',$randcode,$time); } //混算,取最后一位数字 $num = date('Ymd',time())*$random*$userid; $num = str_split($num); $number = $num[count($num) - 1]; //每天60%百分比 if($number<4){ return ‘不通过’; }else{ return ‘通过’; }