第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

srand() - 為什么只調(diào)用一次?

srand() - 為什么只調(diào)用一次?

幕布斯6054654 2019-05-24 16:23:54
srand() - 為什么只調(diào)用一次?這個(gè)問(wèn)題是關(guān)于這個(gè)問(wèn)題的評(píng)論 推薦的方法來(lái)初始化srand?第一條評(píng)論說(shuō)srand()應(yīng)該只在應(yīng)用程序中調(diào)用ONCE。為什么會(huì)這樣?
查看完整描述

4 回答

?
www說(shuō)

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

簡(jiǎn)短的回答:通話srand()時(shí)喜歡“擲骰子”隨機(jī)數(shù)發(fā)生器。也不像洗牌一樣。如果有的話,更像是切割一副牌。

想想這樣。 rand()從一大堆卡片開(kāi)始交易,每次你打電話,它所做的就是從牌組頂部挑出下一張牌,給你價(jià)值,并將牌返回到牌組的底部。(是的,這意味著“隨機(jī)”序列會(huì)在一段時(shí)間后重復(fù)出現(xiàn)。但這是一個(gè)非常大的套牌:通常是4,294,967,296張牌。)

此外,每一個(gè)程序運(yùn)行時(shí),卡一個(gè)全新的包從游戲商店買,卡每一個(gè)全新的包總是具有相同的序列。因此,除非你做一些特殊的事情,否則每次你的程序運(yùn)行時(shí),都會(huì)得到完全相同的“隨機(jī)”數(shù)字rand()。

現(xiàn)在,你可能會(huì)說(shuō),“好吧,那我怎么洗牌?” 答案是(至少就randsrand關(guān)注),沒(méi)有洗牌甲板的一種方式。

那怎么srand辦?根據(jù)我在這里建立的類比,打電話srand(n)基本上就像是說(shuō)“ n從頂部切下卡牌”。但是等一下,還有一件事:它實(shí)際上需要另一個(gè)全新的套牌,并n從頂部切下卡片。

所以,如果你打電話srand(n)rand(),srand(n),rand(),...,用相同的n每一次,你不會(huì)只是得到一個(gè)不是非常隨機(jī)序列,你就會(huì)得到相同數(shù)量的從后rand()每次。(不一定是你遞給的號(hào)碼srand,但rand反復(fù)使用相同的號(hào)碼。)

所以,你能做的最好的就是削減甲板上一次,也就是調(diào)用srand()一次,在程序的開(kāi)始,用n這相當(dāng)隨機(jī)的,所以你會(huì)在不同的隨機(jī)發(fā)生在大甲板每次啟動(dòng)程序運(yùn)行。

[PS是的,我知道,在現(xiàn)實(shí)生活中,當(dāng)你購(gòu)買一副全新的卡片時(shí),它通常是有序的,而不是隨機(jī)順序。對(duì)于這里的類比,我想象你從游戲商店購(gòu)買的每個(gè)牌組都是看似隨機(jī)的順序,但是與你在同一商店購(gòu)買的其他牌組完全相同的看似隨機(jī)的順序。有點(diǎn)像他們?cè)跇蚺棋\標(biāo)賽中使用的相同洗牌的牌組。]


查看完整回答
反對(duì) 回復(fù) 2019-05-24
  • 4 回答
  • 0 關(guān)注
  • 2035 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)