下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于PHP微信紅包的算法探討_ 微信群發(fā)紅包大家都用法過吧,但是究竟如何實現(xiàn)微信紅包群發(fā)?這篇文章就為大家具體的揭曉答案,感愛好的小伙伴們可以參考一下 突發(fā)奇想給校友微信群發(fā)了紅包,我設(shè)定紅包總額為10元,支持28個人隨機領(lǐng)取。 于是一個好玩的結(jié)果消失了: A 領(lǐng)取了 0.26元 B 領(lǐng)取了 0.29元 C 領(lǐng)取了 0.02元 D 領(lǐng)取了 0.56元 E 領(lǐng)取了 0.64元 微信是采納什么樣的算法做到的?簡潔百度了下,目前尚未有正式的說明,僅僅在知乎里有一個較為熱門的商量,鏈接戳這里,不過他們商量的太過于深化,有掉坑之嫌。 我根據(jù)自己的規(guī)律嘗試了下,這個算法需要滿足以下幾點要求: 1、每個人都
2、要能夠領(lǐng)取到紅包; 2、每個人領(lǐng)取到的紅包金額總和=總金額; 3、每個人領(lǐng)取到的紅包金額不等,但也不能差的太離譜,不然就沒趣味; 4、算法肯定要簡潔,不然對不起騰訊這個招牌; 正式編碼之前,先搭建一個遞進的模型來分析規(guī)律 設(shè)定總金額為10元,有N個人隨機領(lǐng)?。?N=1 則紅包金額=X元; N=2 為保證其次個紅包可以正常發(fā)出,第一個紅包金額=0.01至9.99之間的某個隨機數(shù) 其次個紅包=10-第一個紅包金額; N=3 紅包1=0.01至0.98之間的某個隨機數(shù) 紅包2=0.01至(10-紅包1-0.01)的某個隨機數(shù) 紅包3=10-紅包1-紅包2 至此,規(guī)律消失啦!開頭編碼! Php代碼 h
3、eader(Content-Type: text/html;charset=utf-8);/輸出不亂碼,你懂的 $total=10;/紅包總額 $num=8;/ 分成8個紅包,支持8人隨機領(lǐng)取 $min=0.01;/每個人最少能收到0.01元 for ($i=1;$i$num;$i+) $safe_total=$total-($num-$i)*$min;/隨機平安上限 $money=mt_rand($min*100,$safe_total*100)/100; $total=$total-$money; echo 第.$i.個紅包:.$money. 元,余額:.$total. 元 br/; ec
4、ho 第.$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 元 改良一下,將平均值作為隨機平安上限來掌握波動差 Php代碼 header(Content-Type: text/html;charset
5、=utf-8);/輸出不亂碼,你懂的 $total=10;/紅包總額 $num=8;/ 分成8個紅包,支持8人隨機領(lǐng)取 $min=0.01;/每個人最少能收到0.01元 for ($i=1;$i$num;$i+) $safe_total=($total-($num-$i)*$min)/($num-$i);/隨機平安上限 $money=mt_rand($min*100,$safe_total*100)/100; $total=$total-$money; echo 第.$i.個紅包:.$money. 元,余額:.$total. 元 br/; 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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度辦公用品及辦公設(shè)備租賃一體化服務(wù)合同
- 二零二五年度養(yǎng)老社區(qū)入住與緊急救援協(xié)議3篇
- 2025年度養(yǎng)豬場養(yǎng)殖廢棄物處理設(shè)施建設(shè)合同3篇
- 2025年度農(nóng)村房屋買賣合同及土地承包權(quán)轉(zhuǎn)讓與配套設(shè)施租賃及物業(yè)管理合同
- 2025年度農(nóng)副產(chǎn)品線上與線下銷售融合合作協(xié)議3篇
- 二零二五年度?;饭坟浳镞\輸安全管理合同3篇
- 二零二五年度公司經(jīng)理戰(zhàn)略合作伙伴關(guān)系聘用協(xié)議3篇
- 二零二五年度美發(fā)行業(yè)美容美發(fā)行業(yè)投資合作協(xié)議書3篇
- 2025年度農(nóng)村自建房合同協(xié)議書(含節(jié)能環(huán)保建筑材料)
- 二零二五年度農(nóng)村房屋置換項目合作框架協(xié)議
- 人教版(PEP)小學(xué)六年級英語上冊全冊教案
- 廣東省廣州市海珠區(qū)2023-2024學(xué)年六年級上學(xué)期月考英語試卷
- 消防水域救援個人防護裝備試驗 大綱
- 機電樣板施工主要技術(shù)方案
- 涉稅風(fēng)險管理方案
- 青島市2022-2023學(xué)年七年級上學(xué)期期末道德與法治試題
- 高空作業(yè)安全免責(zé)協(xié)議書范本
- 石油化學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(xué)(華東)
- 手術(shù)后如何防止排尿困難
- 特種設(shè)備“日管控、周排查、月調(diào)度”表格
- 重點關(guān)愛學(xué)生幫扶活動記錄表
評論
0/150
提交評論