日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

抽奖概率算法

發布時間:2023/12/31 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 抽奖概率算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求

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; }



總結

以上是生活随笔為你收集整理的抽奖概率算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。