抽奖概率算法

来源:互联网 发布:python 函数 缺省参数 编辑:程序博客网 时间:2024/06/13 22:43

需求

1.指定时间:一天

2.固定奖品个数 :10
3.希望概率根据实际情况变化,不要太快抽完,也不要到结束也没人抽到
4.每人抽一次


分析
1.剩余时间越少,概率应该越高,这要保证前期不会太快,基数/剩余时间
2.剩余奖品越少,概率应该低,奖品越少越应该控制不要太快抽完,降低概率可以做到这点,基数*剩余奖品
3.参加人数越多,概率应该越低,人的基数增加,降低概率可以保证抽中的人不会增加太多。基数/参加人数
4.如果每人抽一次,则应该用人数的增长率计算,如果一人抽多次,应该用总人数计算


概率 = 基数*剩余奖品数/剩余时间/参与人数
概率 = 基数*剩余奖品数/(剩余时间+参与人数)
基准概率 = 1%

如果概率计算后大于基准概率,则使用基准概率,否则使用计算得到的概率


function calcScale(scale_val,x){    return Math.ceil(100*Math.pow(1/scale_val,$x));}function getScale(h,h_next){    //换算成分钟    var x = h.split(":");    var y = h_next.split(":");    var h_minute = x[0]*60+x[1]*1;    var h_next_minute = y[0]*60+y[1]*1;    //计算当前时间    var d = new Date();    var _nh = d.getHours();    var _nm = d.getMinutes();     var _n_now = _nh*60+_nm;    //两次抽奖时间间隔    var total = h_next_minute-h_minute;    var data_x = [];    var data_y = [];    var data_z = [];    var _now = x;    var _h,_m;    var scale_val = $("#scale_val").val()*1;//基数    for(var i=0;i<=total;i++){        _now = h_minute+i;        _h = Math.floor(_now/60);        _m = _now%60;        if(_m<10){            data_x.push(_h+":0"+_m);        }else{            data_x.push(_h+":"+_m);        }        if($(".use_specified_scale:checked").val()==2){            $x = total-i;            $y = calcScale(scale_val,$x);        }else{            $y = $("#specified_scale").val();        }        data_y.push($y);        if(_n_now == _now){            if(_n_now>=h_minute && _n_now<=h_next_minute){                //当前时间段                data_z = [{name : '当前概率%', value : $y+' %', xAxis: i, yAxis: $y}];            }        }    }    var data = new Array();    data.push(data_x);    data.push(data_y);    data.push(data_z);    return data;}




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 机动车登记证丢了怎么办 b1驾照扣了9分怎么办 听力正常体检不过关怎么办 做完人流第二天同房了怎么办 医院的票据丢了怎么办 体检人体成分(脂肪缺乏)该怎么办 诊断出右下叶肺炎怎么办 做胸透穿钢圈内衣怎么办 预约不上留学体检怎么办 跨省离职后社保怎么办 开车到成都限号怎么办 月经量多怎么办吃什么 报驾校体检视力不达标怎么办 换驾驶证c1一只眼不合格怎么办 考驾照紧张腿抖怎么办 驾照该换了色弱怎么办 怀孕5个月感冒咳嗽怎么办 怀孕4个月喉咙痛怎么办 怀孕5个多月总是咳嗽尿失禁怎么办 怀孕7个月感冒了怎么办 怀孕7个月感冒喉咙痛怎么办 孕38周感冒咳嗽喉咙痛怎么办 嗓子痛咳嗽有痰怎么办 怀孕6个月了咳嗽怎么办 怀孕了咳嗽黄痰怎么办 科二5次没考过怎么办 交警开的罚单丢了怎么办 驾驶员从业资格证被水洗了怎么办 驾照考五次没过怎么办 学车每次考不过怎么办 年检超期3个月怎么办 年检超过3个月怎么办 工商执照年检时候忘记密码怎么办 个体工商营业执照年检过期怎么办 忘了审车时间怎么办 汽车年检超过时间了怎么办 星巴克金星会员到期怎么办 驾考学员证丢了怎么办 违章扣满12分怎么办 违章扣满12分后怎么办 东方时尚驾校科二考不过怎么办