在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    自己實現(xiàn)隨機(jī)數(shù)

    隨機(jī)數(shù)函數(shù)rand大家一定都使用得爐火純青了,但是如何你想自己實現(xiàn)一個rand函數(shù)該怎么辦呢?這篇文章讓我來簡單介紹一下隨機(jī)數(shù)的常用生成方法

    最近工作太忙,幾乎沒精力寫文章,竟然有人催更,好在這段時間也沒人取關(guān),哈哈,那就小更一篇吧。

    真假隨機(jī)數(shù)

    其實計算機(jī)中的隨機(jī)數(shù)都是偽隨機(jī)數(shù),因為它并不是真正隨機(jī)的。只有完全無法預(yù)測下一次的數(shù)字才能算是真正的隨機(jī)數(shù)。相抵比較”真隨機(jī)”的方法有:通過當(dāng)前溫度+PM2.5+風(fēng)力…、CPU溫度+內(nèi)存條溫度+…。重點(diǎn)在于無法預(yù)測,但是這些隨機(jī)數(shù)獲取的成本也相對比較大。

    線性同余法

    大部分語言的隨機(jī)數(shù)都是通過”線性同余法”生成的,這是什么鬼方程(哪位好學(xué)生給科普一下)?我們不管原理,只管實現(xiàn)~線性同余法的方程為:N2 = (A X N1 + B) % M,僅當(dāng)B能夠被A與M的最大公約數(shù)整除,此方程有解。我們只要保證A和M互質(zhì)就可以了。

    下面是我用PHP的簡單實現(xiàn),如有錯誤,隨便指出:

    /** * 偽隨機(jī)數(shù) * @author zhjx922 */class Rand { private $_sRand; public function __construct() { $this->_sRand = substr(microtime(true), -3); } /** * 種子生成器 * @return string */ private function sRand() { $a = 33773; $b = 97613; $m = 65536; $this->_sRand = bcmod(bcadd(bcmul($a, $this->_sRand), $b), $m); return $this->_sRand; } /** * 查詢隨機(jī)數(shù) * @param $start * @param $end * @return string */ public function rand($start, $end) { if($start == $end) { return $start; } if($start > $end) { $max = $start; $min = $end; } else { $max = $end; $min = $start; } $sub = $max – $min; return (int)bcmod($this->sRand(), $sub + 1) + $min; }}$rand = new Rand();$randNum = array();for($i=0;$irand(-50, -66); if(isset($randNum[$num])) { $randNum[$num]++; } else { $randNum[$num] = 1; }}ksort($randNum);var_dump($randNum);

    大家可以復(fù)制代碼到本地跑一下,看看生成的效果如何,生成的隨機(jī)數(shù)是否足夠”隨機(jī)”

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月27日 15:07
    下一篇 2022年6月27日 15:08

    相關(guān)推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

      對于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營一個朋友圈,有的微商看起來逼格滿滿,實際效果也不錯;而有的卻動都不動就被屏蔽甚至拉黑…

      2022年11月27日
    • cad連續(xù)標(biāo)注快捷鍵(cad連續(xù)標(biāo)注快捷鍵)

      本文主要講的是cad連續(xù)標(biāo)注快捷鍵,以及和cad連續(xù)標(biāo)注快捷鍵相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 cad中連續(xù)標(biāo)注快捷鍵 CAD尺寸標(biāo)準(zhǔn)快捷命令:DL…

      2022年11月27日
    • 存儲過程語法(sql server存儲過程語法)

      今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

      2022年11月26日
    • 《寶可夢朱紫》夢特性怎么獲得?隱藏特性獲取方法推薦

      寶可夢朱紫里有很多寶可夢都是擁有夢特性會變強(qiáng)的寶可夢,很多玩家不知道夢特性怎么獲得,下面就給大家?guī)韺毧蓧糁熳想[藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

      2022年11月25日
    • 《寶可夢朱紫》奇魯莉安怎么進(jìn)化?奇魯莉安進(jìn)化方法分享

      寶可夢朱紫中的奇魯莉安要怎么進(jìn)化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧糁熳掀骠斃虬策M(jìn)化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進(jìn)化方法分享 奇魯莉安…

      2022年11月25日
    • 為什么空調(diào)不買小米(小米空調(diào)質(zhì)量怎么樣)

      小米在業(yè)內(nèi)的名氣度正在與日俱增,如今在空調(diào)領(lǐng)域的發(fā)展也是讓人出乎意料。當(dāng)然,網(wǎng)上關(guān)于小米空調(diào)的相關(guān)信息確實比較少,導(dǎo)致很多想要入手的朋友仍在觀望狀態(tài)。那么,小米空調(diào)質(zhì)量怎么樣,值不…

      2022年11月25日
    • 《寶可夢朱紫》暴飛龍怎么抓?暴飛龍獲得方法

      寶可夢朱紫暴飛龍位置在哪?在游戲中,很多玩家還不清楚暴飛龍具體要怎么樣獲得,其實獲得方法很簡單,暴飛龍直接是沒得抓的,需要玩家從寶貝龍進(jìn)化得到,下面一起來看一下寶可夢朱紫暴飛龍獲得…

      2022年11月23日
    • 《寶可夢朱紫》布土撥怎么進(jìn)化?布土撥進(jìn)化方法介紹

      寶可夢朱紫中,不同的寶可夢有不同的進(jìn)化方法,其中布土撥的進(jìn)化方法是比較特殊的。很多玩家不知道寶可夢朱紫布土撥怎么進(jìn)化,下面就帶來寶可夢朱紫布土撥進(jìn)化方法介紹,一起來看看吧,希望能幫…

      2022年11月23日
    • 《寶可夢朱紫》薄荷怎么獲得?薄荷獲得方法

      寶可夢朱紫中薄荷有改變寶可夢的屬性或性格等效果,很多玩家想知道寶可夢朱紫薄荷怎么獲得,下面就帶來寶可夢朱紫薄荷獲得方法,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 薄荷獲得方法…

      2022年11月23日
    • 《寶可夢朱紫》怎么交換精靈?交換精靈方法一覽

      寶可夢朱紫中玩家可以和好友或者npc進(jìn)行交換寶可夢獲得自己沒有的寶可夢,很多玩家想知道寶可夢朱紫怎么交換精靈,下面就帶來寶可夢朱紫交換精靈方法一覽,感興趣的小伙伴不要錯過,希望能幫…

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息