国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學(xué)院 > 邏輯算法 > 正文

大家在搶紅包,程序員在研究紅包算法

2020-03-22 20:03:59
字體:
供稿:網(wǎng)友
除夕全天微信用戶紅包總發(fā)送量達(dá)到10.1億次,搖一搖互動量達(dá)到110億次,紅包峰值發(fā)送量為8.1億次/分鐘。拋開微信紅包的市場價值不談,紅包本身的算法也引發(fā)了熱議,由于官方?jīng)]有給出明確的說法,各家也是眾說紛紜,小編下面也為大家?guī)韼追N分析。首先看看數(shù)據(jù)分析帝大多數(shù)人都做出自己的猜測,這也是在不知道內(nèi)部隨機(jī)算法的時候的唯一選擇,但是大多數(shù)人沒有給出自己親自的調(diào)查結(jié)果。這里給出一份100樣本的調(diào)查抽樣樣本數(shù)據(jù),并提出自己的猜測。
1. 錢包錢數(shù)滿足截尾正態(tài)隨機(jī)數(shù)分布。大致為在截尾正態(tài)分布中取隨機(jī)數(shù),并用其求和數(shù)除以總價值,獲得修正因子,再用修正因子乘上所有的隨機(jī)數(shù),得到紅包價值。這種分布意味著:低于平均值的紅包多,但是離平均值不遠(yuǎn);高于平均值的紅包少,但是遠(yuǎn)大于平均值的紅包偏多。
圖1. 錢包價值與其頻率分布直方圖及其正態(tài)擬合
但看分布直方圖并不能推出它符合正態(tài)分布,但是考慮到程序的簡潔性和隨機(jī)數(shù)的合理性,這是最合乎情理的一種猜測。
越是后面的錢包,價值普遍更高

圖2. 錢包序列數(shù)與其價值關(guān)系曲線從圖2中的線性擬合紅線可以看到,錢包價值的總體變化趨勢是在慢慢增大,其變化范圍大約是一個綠色虛線上下界劃出的“通道”。(曲線可以被圍在這么一個正合乎常規(guī)的“通道”中,也從側(cè)面反映了規(guī)律1的合理性,說明了并不是均勻分布的隨機(jī)數(shù))
從另一個平均數(shù)的圖中也可以看出這一規(guī)律。

圖3. 平均數(shù)隨序列數(shù)的變化曲線在樣本中,1000價值的錢包被分成100份,均值為10。然而在圖3中我們可以看到在最后一個錢包之前,平均數(shù)一直低于10,這就說明了一開始的錢包價值偏低,一直被后期的錢包價值拉著往上走,后期的錢包價值更高。3. 當(dāng)然平均數(shù)的圖還可以透露出另一個規(guī)律,那就是最后的那一個人往往容易走運(yùn)抽得比較多。因為最后那一個人是錢包剩下多少就拿多少的,而之前所有人的平均數(shù) 都低于10,所以至少保證了最后一個人會高于平均值。在本樣本中,98號錢包抽到35,而最后一份錢包抽到46。綜上,根據(jù)樣本猜測:

1. 抽到的錢大多數(shù)時候跟別人一樣少,但一旦一多,就容易多很多。
2. 越是抽后面的錢包,錢越容易多。
3. 最后一個人往往容易撞大運(yùn)。點(diǎn)評:這種明顯很實際有差異,小編每次不管什么時候搶都是幾毛錢。
第二位同學(xué)寫了一個簡單python 代碼
據(jù)觀察,紅包分錢滿足以下幾點(diǎn):1.不會有人拿不到錢
2.不會提前分完
3.錢的波動范圍很大
紅包在一開始創(chuàng)建的時候,分配方案就訂好了。搶紅包的時候,不過是挨個pop up而已。
因此 python 代碼如下:def weixin_divide_hongbao(money, n): divide_table = [random.randint(1, 10000)for x in xrange(0, n)] sum_ = sum(divide_table) return [x*money/sum_ for x in divide_table] 不過上述算法還有兩個小問題:1.浮點(diǎn)數(shù)精度問題
2.邊界值的處理第三位同學(xué)按照網(wǎng)上流傳的python寫了一個java的版本int j=1; while(j 1000) int number=10; float total=100; float money; double min=0.01; double max; int i=1; List math=new ArrayList(); while(i number) max = total- min*(number- i); int k = (int)((number-i)/2); if (number -i = 2) {k = number -i;} max = max/k; money=(int)(min*100+Math.random()*(max*100-min*100+1)); money=(float)money/100; total=total-money; math.add(money); System.out.println("第"+i+"個人拿到"+money+"剩下"+total); i++; if(i==number) math.add(total); System.out.println("第"+i+"個人拿到"+total+"剩下0"); System.out.println("本輪發(fā)紅包中第"+(math.indexOf(Collections.max(math))+1)+"個人手氣最佳"); j++; }第四位同學(xué)的這種算法看起來非常科學(xué)。
他認(rèn)為:
1、每個人都要能夠領(lǐng)取到紅包;
2、每個人領(lǐng)取到的紅包金額總和=總金額;
3、每個人領(lǐng)取到的紅包金額不等,但也不能差的太離譜,不然就沒趣味;
4、算法一定要簡單,不然對不起騰訊這個招牌;
正式編碼之前,先搭建一個遞進(jìn)的模型來分析規(guī)律
設(shè)定總金額為10元,有N個人隨機(jī)領(lǐng)取:
N=1
則紅包金額=X元;
N=2
為保證第二個紅包可以正常發(fā)出,第一個紅包金額=0.01至9.99之間的某個隨機(jī)數(shù)
第二個紅包=10-第一個紅包金額;
N=3
紅包1=0.01至0.98之間的某個隨機(jī)數(shù)
紅包2=0.01至(10-紅包1-0.01)的某個隨機(jī)數(shù)
紅包3=10-紅包1-紅包2
……
int j=1; while(j 1000) int number=10; float total=100; float money; double min=0.01; double max; int i=1; List math=new ArrayList(); while(i number) max = total- min*(number- i); int k = (int)((number-i)/2); if (number -i = 2) {k = number -i;} max = max/k; money=(int)(min*100+Math.random()*(max*100-min*100+1)); money=(float)money/100; total=total-money; math.add(money); System.out.println("第"+i+"個人拿到"+money+"剩下"+total); i++; if(i==number) math.add(total); System.out.println("第"+i+"個人拿到"+total+"剩下0"); System.out.println("本輪發(fā)紅包中第"+(math.indexOf(Collections.max(math))+1)+"個人手氣最佳"); j++; } 輸入一看,波動太大,這數(shù)據(jù)太無趣了!
第1個紅包:7.48 元,余額:2.52 元
第2個紅包:1.9 元,余額:0.62 元
第3個紅包:0.49 元,余額:0.13 元
第4個紅包:0.04 元,余額:0.09 元
第5個紅包:0.03 元,余額:0.06 元
第6個紅包:0.03 元,余額:0.03 元
第7個紅包:0.01 元,余額:0.02 元
第8個紅包:0.02 元,余額:0 元
改良一下,將平均值作為隨機(jī)安全上限來控制波動差
int j=1; while(j 1000) int number=10; float total=100; float money; double min=0.01; double max; int i=1; List math=new ArrayList(); while(i number) max = total- min*(number- i); int k = (int)((number-i)/2); if (number -i = 2) {k = number -i;} max = max/k; money=(int)(min*100+Math.random()*(max*100-min*100+1)); money=(float)money/100; total=total-money; math.add(money); System.out.println("第"+i+"個人拿到"+money+"剩下"+total); i++; if(i==number) math.add(total); System.out.println("第"+i+"個人拿到"+total+"剩下0"); System.out.println("本輪發(fā)紅包中第"+(math.indexOf(Collections.max(math))+1)+"個人手氣最佳"); j++; }輸出結(jié)果見下圖第1個紅包:0.06 元,余額:9.94 元
第2個紅包:1.55 元,余額:8.39 元
第3個紅包:0.25 元,余額:8.14 元
第4個紅包:0.98 元,余額:7.16 元
第5個紅包:1.88 元,余額:5.28 元第6個紅包:1.92 元,余額:3.36 元
第7個紅包:2.98 元,余額:0.38 元
第8個紅包:0.38 元,余額:0 元
小結(jié):
小編覺得這完全可以理解成一個紅包引發(fā)的血案,小編僅僅列舉了幾個,還有一些工程學(xué)的同學(xué)直接拋出了數(shù)學(xué)模型、離散函數(shù)等等,但是無論算法是簡單還是復(fù)雜,玩的開心就夠了。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
亚洲激情丁香| 久久久久久日本一区99| 免费看黄视频网站| 亚洲欧美久久婷婷爱综合一区天堂 | 69av二区| 在线国产一区二区三区| 精品176二区| 激情综合丁香| 国产一区二区三区不卡在线| 国产区在线视频| 国产成人午夜| www.三级.com| 五月天婷婷基地| 国产激情网址| av网址在线免费观看| 另类高清dbsm日本tvav| 国产一区电影| xxxx视频在线| 国产精品日日爱| 日本欧洲一区| 精品一区二区三区在线成人| 免费午夜一级| 国产黄a三级三级三级av在线看 | 国产精品久久麻豆| 一本久中文高清| 国产精品亚洲色图| 亚洲精品自产拍在线观看| 国产麻豆视频免费观看| 中文字幕第一页av| 久草在线视频网| h视频在线网站| 中文一区在线观看| 国产午夜精品久久久久免费视 | 97国产在线| 最近中文字幕大全中文字幕免费| 69久久精品| 中文字幕视频免费在线观看| 亚洲91av| 日本啊v在线| 丝袜理论片在线观看| 国产高清视频在线观看| 性网站在线看| 日本亚洲欧美| 免费av不卡在线观看| 亚洲综合激情六月婷婷在线观看 | 国产午夜三区视频在线| 黄色av免费看| 九九精品九九| 国产乱xxⅹxx国语对白| 九色成人在线| 午夜av在线免费观看| 国产免费电影网站入口| 欧美日韩一区二区三区视视频 | 国产videos| 在线国产一级| 蜜桃视频中文字幕| 国产老肥熟xxxx在线观看| 国产免费自拍视频| 国产网站在线免费观看| 国产人成网在线播放va免费| 国产第一页在线| 91亚洲精选| www.夜夜操| 国产男女无套在线播放| 国产一级在线| 国产va在线| 永久免费在线观看| 日本动漫理论片在线观看网站| 免费在线超碰| 国产精品第八页| 不卡av免费观看| 国产黄色一级电影| 欧美性xxxx交| 永久免费网站在线| 99热在线观看免费| av片在线观看永久免费| 免费在线看v| 国产成人夜间影院在线观看| 欧美亚洲系列| 精精国产xxxx视频在线中文版| eeuss影院在线观看第一页| аⅴ成人天堂中文在线| 国产精品二线| 最近中文字幕av免费高清| 先锋av资源网| 2019年中文字幕| 中文字幕在线影院| 久久国产综合视频| 夜夜操com| 精品国产一区二区三区久久久狼牙 | 国产不卡在线| 国产中文伊人| 白浆爆出在线观看| 在线免费观看你懂的| 国产视频在线播放| 国产免费专区| 国产免费麻豆视频| jlzzjlzz欧美大全| 在线黄色.com| 精品推荐国产麻豆剧传媒| 午夜免费福利在线观看| 男人天堂网在线观看| av中文字幕在线看| 在线国产三级| 亚洲视频手机在线观看| 在线中文视频| 在线观看的av| 亚洲午夜久久久久中文字幕| av在线播放av| 老鸭窝av在线| 日本中文字幕在线播放| 国产色在线 com| 国产一二区视频| 国产精品白浆视频免费观看| 国产福利微拍精品一区二区| 91麻豆精品国产91久久| 99爱视频在线观看| 免费国产阿v视频在线观看| 天堂中文在线观看| 免费看ww视频网站入口| 国产美女在线观看| 国产一卡2卡3卡免费网站| 国产秀色在线www免费观看| 国产国产国产国产国产国产| 99在线播放| 九九热在线观看| 国产丝袜精品丝袜| 亚洲精品视频区| 国产专区在线播放| 国产日韩欧美精品一区二区三区| 国产三级做爰在线观看| 永久免费av片在线观看全网站| 九九在线视频| 92国产在线视频| 久久一本精品| 999福利在线视频| 国产乱码在线| 日本欧洲一区| 91涩漫在线观看c| 国产卡1卡2卡三卡在线| 精灵使的剑舞无删减版在线观看| 欧美精品se| 99reav在线| 国产色视频网站| www网站在线观看| 中文在线观看视频| 在线观看免费视频一区二区三区| 亚洲男人的天堂成人| 国产资源在线看| 精品国语对白精品自拍视 | 在线中文字幕视频观看| 国产在线播放av| 天天草天天草| 在线激情小视频| 国产黄色在线看| 国产天堂在线播放视频| 国产美女福利在线| 欧美色第一页| 久草视频国产| 青青艹在线视频| 四虎一区二区三区| 夜夜嗨yeyeh| 国产95在线|亚洲| 国产特黄在线| 国产特级淫片免费看| 国产精品欧美韩国日本久久| 国产一区二区三区美女秒播| 国产乱在线观看视频| 黄色片免费在线| 国产麻豆综合视频在线观看| 国产永久免费| 丁香综合在线| 国产视频1区| 精品视频vs精品视频| 在线观看中文字幕的网站| 亚洲人成影院在线| 黄色av免费看| 中文字幕免费中文| 国产高清免费av在线| 在线观看精品视频一区二区三区| 在线影视一区| 欧美高清xxxx性| 黄网站app在线观看下载视频大全官网| 青青艹在线视频| 中文字幕一区免费| av网站在线播放| 综合图区亚洲白拍在线| 99久久99热久久精品免费看| 青青草视频在线免费观看| 国产资源在线看| 精品无人乱码| 国产理论电影在线观看| 国产精品久久在线| 青青青青在线| 精品国产一区二区三区四区阿崩| www黄在线观看| 精品电影在线| 国产一卡二卡3卡4卡四卡在线| 97中文字幕| 国产超碰在线观看|