摘要:提取隨機數(shù)類官方雖然提供了版的搖號程序,但是作為世界上最好的語言怎能不嘗試一下呢從之前的文章自己實現(xiàn)隨機數(shù),我們不難發(fā)現(xiàn),如果隨機種子的固定的話,那么我們產(chǎn)生的隨機數(shù)也是固定的。
官方信息相信很多北京本地or北漂一族搖了N年車牌號的人大有人在,作為一個即將加入搖號大軍的程序員,帶著好奇心查看了一下?lián)u號相關(guān)的規(guī)則和程序,是否公平公正公開公...
溫馨提示:搖號月的25日,在公證人員的公證下,工作人員按規(guī)則為審核通過的編碼分配搖號基數(shù)序號,形成搖號池編碼數(shù)據(jù)文件,并刻盤封存,將參與26日的搖號。26日搖號結(jié)束后,請您注意查詢是否中簽,中簽后憑打印的“小客車配置指標確認通知書”辦理購車手續(xù)。
特別說明:
1、搖號基數(shù)序號分配方法:首先,將當期所有審核通過的編碼按從小到大的順序分配序號;然后,第二階梯及以上的編碼按從小到大的順序,接在后面繼續(xù)分配序號;再然后,第三階梯及以上的編碼按從小到大的順序,接在后面繼續(xù)分配序號;以此類推。因此,高階梯的編碼所對應的多個搖號基數(shù)序號是不連號的,當期搖號基數(shù)序號總數(shù)=第一階梯人數(shù)+第二階梯人數(shù)×2+第三階梯人數(shù)×3……
2、搖號方法:搖號程序從當期所有搖號基數(shù)序號中隨機抽取中簽者,高階梯的編碼對應多個搖號基數(shù)序號,于是享受了多倍的中簽概率。搖號程序確保高階梯編碼的多個搖號基數(shù)序號最多只能搖中一個,當其中一個搖號基數(shù)序號中簽,該編碼即中簽。
1、搖號月的25日會將所有搖號的數(shù)據(jù)存放到數(shù)據(jù)文件(一個csv文件集合的壓縮包,后面會提到,這個是我們寫搖號程序的關(guān)鍵數(shù)據(jù))
2、搖號月的26日會搖出一個6位的隨機數(shù)(這個是用來計算中簽的關(guān)鍵)
3、第幾階梯就會為對應階梯的人分配幾個搖號基礎序號,比如A現(xiàn)在是第三階梯,B是第二階梯,C是第一階梯,那么對應的排序就為ABCABA(123456)
為了公平公正,官方提供了可執(zhí)行的搖號程序,已經(jīng)對應搖號期數(shù)的搖號數(shù)據(jù)提供了下載。
溫馨提示了我們Windows7操作系統(tǒng),系統(tǒng)應當安裝有.NET Framework 2.0,既然是.NET,那我們就反編譯一下,看看到底是怎么計算的~
反編譯使用反編譯工具ILSPY,直接搞定,我們會發(fā)現(xiàn)源程序是C#寫的,關(guān)鍵代碼放在AllRandomPick.cs中,其中最關(guān)鍵的兩句為:
Random random = new Random(allRandomPickData.Seed); pickNumber = random.Next(allRandomPickData.TotalNumber);
Random為C#自帶的隨機函數(shù)
allRandomPickData.Seed 表示6位隨機種子數(shù)
allRandomPickData.TotalNumber 表示搖號池編碼數(shù)
這么看來,如果確保隨機種子數(shù)是隨機的話,這個算法可以認為是"絕對"公平的。
如果作弊的話,一是控制隨機種子數(shù),二是偽造搖號編碼插入到對應的位置。
從此看來,大家還是乖乖搖號或者買新能源吧。。。
官方雖然提供了C#版的搖號程序,但是作為世界上最好的語言PHP怎能不嘗試一下呢?
從之前的文章 自己實現(xiàn)隨機數(shù),我們不難發(fā)現(xiàn),如果隨機種子的固定的話,那么我們產(chǎn)生的隨機數(shù)也是固定的。
但是不同語言的隨機數(shù)實現(xiàn)方法是不同的,我們要向?qū)崿F(xiàn)C#版的random,就必須知道C#糾結(jié)是如何生成隨機數(shù)的。
感謝微軟開源(不開源的話,可能沒法用PHP實現(xiàn)了),讓我輕松的找到了對應的實現(xiàn)方法 https://github.com/dotnet/cor...
既然已經(jīng)有了源代碼,我們只要將C#翻譯成PHP就可以了。
分析壓縮包官方提供了每期的壓縮包,我們解壓之后,能夠看到一堆的文件列表,隨便打開一個A列代表了當前的基礎序號,B列代表了對應的搖號編碼,如果隨機到的基礎序號對應的是你的編碼,那么,就該恭喜你了。
PHP實現(xiàn)隨機類有了,只要使用隨機種子初始化隨機類,然后在總編碼數(shù)范圍內(nèi)隨機,next...next...直到全部指標分配完就可以了,代碼我放到了 github 上,有興趣的小伙伴可以點擊查看。
再放個最終的運行結(jié)果:
到官網(wǎng)上驗證一下:
搖號越久就越容易中么?不是,雖然你的倍數(shù)一直在增加,但是和你一起搖的人的倍數(shù)也在增加,后面加入的人也越來越多,畢竟指標數(shù)在變得越來越少。
真的沒辦法提高概率了么?有,比如下方二維碼試試
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/22581.html
摘要:第三個方面涉及到區(qū)塊鏈對每個部門法的影響。雖然這種影響可能一開始表現(xiàn)在細枝末節(jié)上,但是區(qū)塊鏈技術(shù)最終會對各個部門法的基礎,部門法的基本假設以及假設的實現(xiàn)造成影響。例如,基于區(qū)塊鏈的公司章程。區(qū)塊鏈技術(shù)其實為平等做了很大的努力。 在兩篇秘猿科技區(qū)塊鏈小課堂中,我們介紹了區(qū)塊鏈對整個行業(yè)內(nèi)的一些思考,接下來,我們會聊一聊區(qū)塊鏈對各部門法帶來的思考。第三個方面涉及到區(qū)塊鏈對每個部門法的影響。...
摘要:服務教程在它提出十多年后的今天,已經(jīng)成為最重要的應用技術(shù)之一。全方位提升網(wǎng)站打開速度前端后端新的技術(shù)如何在內(nèi)完整打開網(wǎng)站會直接影響用戶的滿意度及留存率,在前端后端數(shù)據(jù)緩存加速等等方面都有諸多可以提升。 HTTPS 原理剖析與項目場景 最近手頭有兩個項目,XX 導航和 XX 產(chǎn)業(yè)平臺,都需要使用 HTTPS 協(xié)議,因此,這次對 HTTPS 協(xié)議做一次整理與分享。 使用緩存應該注意哪些問題...
摘要:服務教程在它提出十多年后的今天,已經(jīng)成為最重要的應用技術(shù)之一。全方位提升網(wǎng)站打開速度前端后端新的技術(shù)如何在內(nèi)完整打開網(wǎng)站會直接影響用戶的滿意度及留存率,在前端后端數(shù)據(jù)緩存加速等等方面都有諸多可以提升。 HTTPS 原理剖析與項目場景 最近手頭有兩個項目,XX 導航和 XX 產(chǎn)業(yè)平臺,都需要使用 HTTPS 協(xié)議,因此,這次對 HTTPS 協(xié)議做一次整理與分享。 使用緩存應該注意哪些問題...
摘要:服務教程在它提出十多年后的今天,已經(jīng)成為最重要的應用技術(shù)之一。全方位提升網(wǎng)站打開速度前端后端新的技術(shù)如何在內(nèi)完整打開網(wǎng)站會直接影響用戶的滿意度及留存率,在前端后端數(shù)據(jù)緩存加速等等方面都有諸多可以提升。 HTTPS 原理剖析與項目場景 最近手頭有兩個項目,XX 導航和 XX 產(chǎn)業(yè)平臺,都需要使用 HTTPS 協(xié)議,因此,這次對 HTTPS 協(xié)議做一次整理與分享。 使用緩存應該注意哪些問題...
閱讀 2555·2021-10-13 09:40
閱讀 3451·2019-08-30 13:46
閱讀 1191·2019-08-29 14:05
閱讀 3020·2019-08-29 12:48
閱讀 3726·2019-08-26 13:28
閱讀 2218·2019-08-26 11:34
閱讀 2360·2019-08-23 18:11
閱讀 1258·2019-08-23 12:26