精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

別人在搶紅包,程序員在研究紅包算法

原創(chuàng)
移動開發(fā) Android 算法
拋開微信紅包的市場價值不談,紅包本身的算法也引發(fā)了熱議,由于官方?jīng)]有給出明確的說法,各家也是眾說紛紜,小編下面也為大家?guī)韼追N分析。

微信紅包在羊年春節(jié)的火爆程度不言而喻,廣告主投入5億現(xiàn)金紅包,與央視羊年春晚獨(dú)家合作起到了巨大的推動作用。這就像一針大補(bǔ)丸,在短時間內(nèi)給微信帶來了極大的關(guān)注度與流量。除夕全天微信用戶紅包總發(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)抽得比較多。因?yàn)?**那一個人是錢包剩下多少就拿多少的,而之前所有人的平均數(shù) 都低于10,所以至少保證了***一個人會高于平均值。在本樣本中,98號錢包抽到35,而***一份錢包抽到46。

綜上,根據(jù)樣本猜測:

1. 抽到的錢大多數(shù)時候跟別人一樣少,但一旦一多,就容易多很多。

2. 越是抽后面的錢包,錢越容易多。

3. ***一個人往往容易撞大運(yùn)。

點(diǎn)評:這種明顯很實(shí)際有差異,小編每次不管什么時候搶都是幾毛錢。

第二位同學(xué)寫了一個簡單python 代碼

據(jù)觀察,紅包分錢滿足以下幾點(diǎn):

1.不會有人拿不到錢

2.不會提前分完

3.錢的波動范圍很大

紅包在一開始創(chuàng)建的時候,分配方案就訂好了。搶紅包的時候,不過是挨個pop up而已。

因此 python 代碼如下:

  1. def weixin_divide_hongbao(money, n): 
  2. divide_table = [random.randint(110000for x in xrange(0, n)] 
  3. sum_ = sum(divide_table) 
  4. return [x*money/sum_ for x in divide_table] 

不過上述算法還有兩個小問題:

1.浮點(diǎn)數(shù)精度問題

2.邊界值的處理

第三位同學(xué)按照網(wǎng)上流傳的python寫了一個java的版本

  1. int j=1
  2. while(j<1000
  3. int number=10
  4. float total=100
  5. float money; 
  6. double min=0.01
  7. double max; 
  8. int i=1
  9.  
  10. List math=new ArrayList(); 
  11. while(i<number) 
  12.  
  13. max = total- min*(number- i); 
  14. int k = (int)((number-i)/2); 
  15. if (number -i <= 2
  16. {k = number -i;} 
  17. max = max/k; 
  18. money=(int)(min*100+Math.random()*(max*100-min*100+1)); 
  19. money=(float)money/100
  20. total=total-money; 
  21. math.add(money); 
  22. System.out.println("第"+i+"個人拿到"+money+"剩下"+total); 
  23. i++; 
  24. if(i==number) 
  25. math.add(total); 
  26. System.out.println("第"+i+"個人拿到"+total+"剩下0"); 
  27.  
  28. System.out.println("本輪發(fā)紅包中第"+(math.indexOf(Collections.max(math))+1)+"個人手氣***"); 
  29. j++; 

第四位同學(xué)的這種算法看起來非??茖W(xué)。

他認(rèn)為:

1、每個人都要能夠領(lǐng)取到紅包;

2、每個人領(lǐng)取到的紅包金額總和=總金額;

3、每個人領(lǐng)取到的紅包金額不等,但也不能差的太離譜,不然就沒趣味;

4、算法一定要簡單,不然對不起騰訊這個招牌;

正式編碼之前,先搭建一個遞進(jìn)的模型來分析規(guī)律

設(shè)定總金額為10元,有N個人隨機(jī)領(lǐng)?。?/p>

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

……

  1. header("Content-Type: text/html;charset=utf-8");//輸出不亂碼,你懂的 
  2. $total=10;//紅包總額 
  3. $num=8;// 分成8個紅包,支持8人隨機(jī)領(lǐng)取 
  4. $min=0.01;//每個人最少能收到0.01元 
  5.  
  6. for ($i=1;$i<$num;$i++) 
  7.     $safe_total=$total-($num-$i)*$min;//隨機(jī)安全上限 
  8.     $money=mt_rand($min*100,$safe_total*100)/100; 
  9.     $total=$total-$money; 
  10.     echo '第'.$i.'個紅包:'.$money.' 元,余額:'.$total.' 元 <br/>'; 
  11. echo '第'.$num.'個紅包:'.$total.' 元,余額:0 元'; 

輸入一看,波動太大,這數(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ī)安全上限來控制波動差

  1. header("Content-Type: text/html;charset=utf-8");//輸出不亂碼,你懂的 
  2. $total=10;//紅包總額 
  3. $num=8;// 分成8個紅包,支持8人隨機(jī)領(lǐng)取 
  4. $min=0.01;//每個人最少能收到0.01元 
  5.  
  6. for ($i=1;$i<$num;$i++) 
  7.     $safe_total=($total-($num-$i)*$min)/($num-$i);//隨機(jī)安全上限 
  8.     $money=mt_rand($min*100,$safe_total*100)/100
  9.     $total=$total-$money; 
  10.     echo '第'.$i.'個紅包:'.$money.' 元,余額:'.$total.' 元 <br/>'
  11. echo '第'.$num.'個紅包:'.$total.' 元,余額:0 元'

輸出結(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ù)雜,玩的開心就夠了。

責(zé)任編輯:chenqingxiang 來源: 知乎整理
相關(guān)推薦

2015-02-26 14:45:42

微信支付寶紅包

2024-08-19 11:31:41

2017-01-20 11:14:37

紅包

2019-08-29 09:57:24

Python系統(tǒng)編程

2016-03-02 14:01:53

2015-02-27 09:45:25

搶紅包手機(jī)

2021-11-16 23:11:24

Java微信搶紅包

2016-12-27 09:49:59

支付寶紅包破解

2015-02-26 13:34:28

2015-09-02 10:33:54

紅包類型optionals

2014-11-13 17:48:21

2015-02-28 21:10:35

4G斐訊C530搶紅包

2021-02-09 07:35:16

手機(jī)QQ紅包APP

2015-02-26 13:43:18

微信支付寶紅包

2015-12-31 11:30:10

趨勢科技/信息安全

2018-06-04 12:41:50

程序員貪心算法分析

2020-09-01 07:47:32

Redis秒殺微信

2017-01-06 13:54:08

CTO訓(xùn)練營搞笑

2015-11-12 09:39:28

微信紅包實(shí)現(xiàn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

美女在线视频免费| 国产在成人精品线拍偷自揄拍| 成人性生交大片免费看96| 午夜精品久久久久久久久久| 久久99精品久久久水蜜桃| 中文字幕一区二区三区四区免费看 | 美女久久久久久久久| 亚洲欧洲美洲av| 亚洲欧美国产三级| 欧美精品一区二区三区在线看午夜| 伊人久久成人网| 亚洲青涩在线| 日韩在线观看免费全| 久久免费精品国产| 色999久久久精品人人澡69| 亚洲国产一区二区三区| 日韩三级电影网站| 黄频在线免费观看| 极品少妇一区二区| 热re99久久精品国产66热| 九九精品视频免费| 九一成人免费视频| 精品久久99ma| 五月天婷婷影视| 亚洲涩涩在线| 一区二区三区四区精品在线视频| 日本一区二区三区视频在线观看 | 日韩影片中文字幕| 一区二区三区四区不卡视频 | 国内精品嫩模av私拍在线观看| 亚洲欧美日韩一区二区在线| 日本美女视频网站| 国产日韩中文在线中文字幕| 在线免费观看日本一区| 国产原创中文在线观看| 午夜dj在线观看高清视频完整版| 久久一区二区视频| 国产在线一区二区三区四区| 精品国产伦一区二区三| 久久99久久99小草精品免视看| 日韩av三级在线观看| 日本免费一二三区| 黄色欧美日韩| 欧美夫妻性生活视频| 日本精品在线免费观看| 奇米影视亚洲| 国产一区二区三区三区在线观看| 蜜桃av免费看| 最新国产精品视频| 亚洲人成伊人成综合网久久久| 中国极品少妇videossexhd| 亚洲精品v亚洲精品v日韩精品| 在线成人小视频| 欧美又黄又嫩大片a级| 国产亚洲观看| 欧美一级久久久| 中国老熟女重囗味hdxx| 精品视频一区二区三区在线观看| 欧美人体做爰大胆视频| 99sesese| 国产999精品在线观看| 91精品国产一区二区三区 | 国产精品亚洲一区二区在线观看 | 国产精品v日韩精品v在线观看| 精品亚洲美女网站| 欧美色网一区二区| 中文字幕66页| 精品三级久久久| 精品国产一二三区| 大地资源二中文在线影视观看 | 国产一区二区三区视频免费| 中文字幕第24页| 97国产成人高清在线观看| 久久久精品欧美| 黄色一级片中国| 亚洲婷婷在线| 热久久视久久精品18亚洲精品| 无码人妻精品一区二区| 日本在线不卡视频| 91在线直播亚洲| 狠狠躁夜夜躁av无码中文幕| 91看片淫黄大片一级在线观看| 欧洲亚洲一区二区三区四区五区| 日本在线观看www| 亚洲精品一二三| 玩弄中年熟妇正在播放| 电影天堂国产精品| 制服.丝袜.亚洲.中文.综合| 激情综合激情五月| 国产亚洲一区二区三区啪| 久久精品视频导航| 丰满少妇乱子伦精品看片| 日本欧美加勒比视频| 亚洲综合国产精品| 牛牛澡牛牛爽一区二区| 欧美激情在线一区二区| 91制片厂免费观看| 综合另类专区| 欧美一区二区播放| 成年人免费观看视频网站| 国产精品99久久精品| 国模叶桐国产精品一区| 在线免费观看一级片| 成人高清免费观看| 一本一本a久久| 欧美a级在线观看| 91精品国产欧美一区二区成人| 亚洲观看黄色网| 中文av一区| 国产精品成人一区| 欧日韩在线视频| 亚洲欧美怡红院| aaa毛片在线观看| 99亚洲乱人伦aⅴ精品| 中文字幕在线亚洲| 五月婷婷亚洲综合| 国产91在线观看| 亚洲欧洲国产日韩精品| 日本午夜大片a在线观看| 91精品国产91热久久久做人人| 欧美 日本 国产| 国产一区二区三区自拍| 国产男人精品视频| 加勒比一区二区三区在线| 一区二区三区日本| 中文字幕在线观看日| 久操成人av| 992tv在线成人免费观看| 国产成人精品av在线观| 国产精品久久久久久亚洲伦| 亚洲精品中文字幕无码蜜桃| 米奇精品关键词| 欧美国产极速在线| 国产色片在线观看| 国产精品久久久久久久久免费桃花| 动漫av网站免费观看| 成人自拍在线| 欧美国产视频一区二区| 国产美女三级无套内谢| 国产精品成人一区二区三区夜夜夜| 日韩久久一级片| 婷婷综合福利| 奇米影视亚洲狠狠色| 天堂网www中文在线| 午夜精品久久久久久久久久久| 日韩Av无码精品| 亚洲激精日韩激精欧美精品| eeuss一区二区三区| 影音先锋男人在线资源| 日韩一级片网址| 欧美黑人精品一区二区不卡| 国产精品77777竹菊影视小说| 香蕉精品视频在线| 国产精品毛片无码| 美女少妇精品视频| 亚洲AV无码成人片在线观看| 亚洲综合激情另类小说区| 日本成人在线免费观看| 亚洲婷婷免费| 久久亚洲国产精品日日av夜夜| 在线免费看h| 国产午夜精品免费一区二区三区 | 日韩av手机在线免费观看| 精品亚洲porn| 国产91视频一区| 国产精品色呦| 日本三级韩国三级久久| yiren22综合网成人| 欧美日韩在线播| 欧美偷拍第一页| 99这里只有久久精品视频| 欧美极品欧美精品欧美| 精品国产91| 成人午夜一级二级三级| 精精国产xxxx视频在线中文版| 亚洲黄色片网站| av首页在线观看| 亚洲人精品午夜| 日本性生活一级片| 日韩中文欧美在线| 91xxx视频| 日本欧美高清| 成人黄色影片在线| av今日在线| 中文字幕国产日韩| 亚洲av无码专区在线| 福利微拍一区二区| 性生交大片免费全黄| 粉嫩嫩av羞羞动漫久久久| 日本成年人网址| 亚洲情侣在线| 欧美精品欧美精品| 久久国产精品免费一区二区三区| 97人洗澡人人免费公开视频碰碰碰| 国产系列电影在线播放网址| 欧美一区二区三区四区久久 | 欧美日韩国产成人在线免费| 久草视频在线免费看| 99re热这里只有精品免费视频| 91福利国产成人精品播放| 激情成人亚洲| 亚洲精品一品区二品区三品区 | 黄色日韩网站视频| 久久黄色片视频| 91综合视频| 欧美日韩综合另类| 视频一区在线| 国产精品亚洲片夜色在线| 黑森林国产精品av| 九九九久久国产免费| 国产人成在线视频| 亚洲国产成人av在线| 国产精品视频一区二区三区,| 欧美日韩国产一中文字不卡| 欧美成人777| 中文字幕 久热精品 视频在线 | 精品一区av| 精品国产乱码一区二区三区四区 | 欧美日韩一级大片| 国产精品全国免费观看高清| 久久久久国产精品区片区无码| 韩国精品在线观看| 一道本视频在线观看| 影音先锋一区| 国产91在线亚洲| 国产精品久久久久久久免费观看 | 国产伦精品一区二区三区视频黑人| 日本成人一区二区| 国产精品扒开腿做爽爽爽男男| 在线手机中文字幕| 91成人国产在线观看| 手机在线免费av| 欧美乱大交做爰xxxⅹ性3| 午夜精品一区| 视频一区视频二区国产精品| 国产51人人成人人人人爽色哟哟| 日韩电影中文字幕av| 蜜桃视频污在线观看| 精品免费视频.| 亚洲AV无码精品国产| 制服丝袜亚洲精品中文字幕| 亚洲熟妇无码久久精品| 欧美丝袜丝交足nylons图片| 嫩草影院一区二区三区| 在线免费观看日本欧美| 亚洲精品91天天久久人人| 91国偷自产一区二区开放时间| 中文字幕黄色片| 在线这里只有精品| 瑟瑟视频在线免费观看| 欧美日韩另类一区| 一区二区三区午夜| 欧美一区二区三区精品| www.亚洲黄色| 精品国产乱码久久久久久图片| 国产成人三级在线观看视频| 精品成人一区二区| 天天干,夜夜爽| 亚洲精品在线不卡| 福利在线视频导航| 日韩最新av在线| а√天堂资源地址在线下载| 欧美精品在线视频观看| 黄色影院在线看| 欧美综合激情网| 国产成人精品一区二区三区免费| 国产中文字幕日韩| 9l亚洲国产成人精品一区二三 | 成人深夜直播免费观看| 成人免费91| 国产精品一区二区三区免费观看| 日韩高清一级| 亚洲欧美日韩精品在线| 欧美91福利在线观看| www.av毛片| 日产国产高清一区二区三区| 波多野结衣免费观看| av资源网一区| 丰满的亚洲女人毛茸茸| 亚洲欧美一区二区三区孕妇| 日韩免费黄色片| 日本韩国欧美一区二区三区| 国产偷拍一区二区| 国产视频精品自拍| 人人干在线视频| 97久久精品人人澡人人爽缅北| 国产 日韩 欧美一区| 成人亲热视频网站| 在线成人动漫av| 爱爱爱视频网站| 久久av一区| 天堂在线精品视频| 久久午夜色播影院免费高清| 麻豆精品国产免费| 精品国产1区2区| 国产免费久久久| 亚洲欧美福利视频| 性直播体位视频在线观看| 日本一区二区在线免费播放| 久久伊人久久| 日韩三级电影网站| 亚洲精一区二区三区| 亚洲综合欧美在线| 久久综合色婷婷| 国产黄色片在线免费观看| 色综合久久久久综合99| 北条麻妃一二三区| 色婷婷综合成人av| 老司机2019福利精品视频导航| 亚洲综合成人婷婷小说| 欧美日韩精品一区二区视频| www.av毛片| 国产成人免费xxxxxxxx| 亚洲欧美另类日本| 一本大道久久a久久精二百| 亚洲春色一区二区三区| 日韩在线播放av| 中文字幕av一区二区三区佐山爱| 国产91aaa| 亚洲第一偷拍| 亚洲免费黄色网| 久久精品人人爽人人爽| 国产精品suv一区二区三区| 日韩午夜在线观看| 女女色综合影院| 国产精品999999| 九九综合九九| 美女福利视频在线| 99久久国产免费看| 亚洲激情视频一区| 日韩精品一区二区三区swag| 老司机在线看片网av| 成人国产精品一区| 久久中文视频| 亚洲国产日韩欧美在线观看| 国产日韩精品一区| 精品无码一区二区三区的天堂| 精品亚洲国产视频| 伊人久久av| 日本视频一区二区在线观看| 亚洲男人影院| 人妻精品久久久久中文字幕| 精品国产乱码久久久久久天美| 三级在线观看网站| 91高清视频在线免费观看| 欧美电影完整版在线观看| 99视频在线免费播放| 波多野结衣一区二区三区| 日本免费观看视| 日韩电影第一页| 一区二区视频免费完整版观看| 欧美午夜免费| 日本va欧美va瓶| 99热这里只有精品4| 在线电影欧美成精品| 中文字幕有码在线视频| y111111国产精品久久婷婷| 精品999成人| 蜜桃传媒一区二区亚洲av | 免费高清在线观看免费| 国产亚洲婷婷免费| 亚洲一线在线观看| 欧美成人午夜激情| 豆花视频一区二区| 黄色片视频在线免费观看| 久久精品亚洲乱码伦伦中文 | 欧美精品一区二区蜜臀亚洲| www.综合网.com| 久久伦理网站| 久久精品国产久精国产爱| 97成人资源站| 亚洲国产成人久久综合| 日韩在线影院| 自拍视频一区二区三区| 成人av免费观看| 久久久久亚洲视频| 欧美大秀在线观看| 午夜欧洲一区| 精品综合久久久久| 亚洲超丰满肉感bbw| 男同在线观看| 91在线视频一区| 亚洲综合二区| 免费国产羞羞网站美图| 亚洲国产天堂久久国产91| av免费在线一区| japanese在线播放| www国产精品av| av网站免费大全| 欧美最猛性xxxxx亚洲精品| 999国产精品永久免费视频app| 在线播放av网址| 在线观看日产精品| 日本三级在线观看网站 | 欧美黄色精品| 免费观看av网站| 日韩三级高清在线| 精品网站在线| www.成年人视频| 中文字幕不卡在线观看|