国产chinesehd精品酒店,邱淑贞aa极毛片,国产在线色视频,玖玖爱zh综合伊人久久

網(wǎng)站首頁(yè)
手機(jī)版

c生成隨機(jī)數(shù)代碼(隨機(jī)生成c語(yǔ)言)

更新時(shí)間:2023-07-31 18:04:25作者:佚名

c生成隨機(jī)數(shù)代碼(隨機(jī)生成c語(yǔ)言)

Matlab內(nèi)置了五種隨機(jī)函數(shù):

rand:生成在(0, 1)之間均勻分布的隨機(jī)數(shù)randn:生成均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)randi(imax):生成在[1, imax] 均勻分布的偽隨機(jī)整數(shù)randsrc(m, n, [alphabet; prob]):生成一個(gè)m-by-n的矩陣,矩陣的元素從alphabet里抽取,alphabet每個(gè)元素被抽中的概率由prob指定。randperm(n):生成一個(gè)1到n的隨機(jī)順序。

而C++中要生成隨機(jī)數(shù),通常需要使用rand()和srand()兩個(gè)函數(shù)。

對(duì)于C++ 11之前的隨機(jī)數(shù)生成,只需rand/srand這兩函數(shù)即可,C++11之后提供了更多的選擇和東西,這里暫且不表。

1、rand函數(shù)

int rand(void);

rand()函數(shù)返回一個(gè) 0 ~ RAND_MAX 之間的整數(shù)。RAND_MAX 是一個(gè)定義在的常數(shù)。

該函數(shù)返回的數(shù)字實(shí)際上是用算法生成的,實(shí)際上并不是隨機(jī)的。它是根據(jù)種子生成的,根據(jù)不同的種子產(chǎn)生不同的隨機(jī)序列。系統(tǒng)默認(rèn)的種子是1,所以說(shuō)每次使用的隨機(jī)序列都是固定的。

比如下面這段代碼:

#includeusing namespace std;int main(){ cout << "RAND_MAD: " << RAND_MAX << endl; int x = rand(); cout << "x: " << x << endl; return 0;}

運(yùn)行結(jié)果如下圖所示,可以看出,每次運(yùn)行的結(jié)果,x 的值都是固定的。

2、srand函數(shù)

要想使每次運(yùn)行時(shí)變量 x 的值都不同,就必須使它的種子隨機(jī),這時(shí)就需要用到srand函數(shù)。

void srand(unsigned int seed);

srand()函數(shù)就是用來(lái)設(shè)置rand()函數(shù)的種子的。根據(jù)不同的輸入?yún)?shù)可以產(chǎn)生不同的種子。通常使用time函數(shù)作為srand函數(shù)的輸入?yún)?shù)。

time(NULL);

time函數(shù)會(huì)返回1970年1月1日至今所經(jīng)歷的時(shí)間(以秒為單位)。

在使用 rand() 函數(shù)之前,srand() 函數(shù)要先被調(diào)用,并且在整個(gè)程序中只需被調(diào)用一次。代碼如下:

#includeusing namespace std;int main(){ srand(time(0)); int x = rand(); cout << "x: " << x << endl; return 0;}

運(yùn)行結(jié)果如下:

注意:time函數(shù)會(huì)返回的是1970年1月1日至今所經(jīng)歷的時(shí)間(以秒為單位),若你手速足夠快,在1s內(nèi)能夠執(zhí)行多次,即time函數(shù)返回的值相同,x 的值也會(huì)相同。

3、指定隨機(jī)數(shù)的范圍

在實(shí)際應(yīng)用中,通常需要要將隨機(jī)數(shù)的范圍限制在 1 到某個(gè)值 max 之間,則可以使用以下公式:

int var = rand() % max + 1;

求余數(shù)運(yùn)算符(%)可以獲得整除之后的余數(shù)。如當(dāng) max 為 6 時(shí),余數(shù)將是 0 ? 5,給余數(shù)加 1 即可轉(zhuǎn)換為 1 ~ 6。

#includeusing namespace std;int main(){ srand(time(0)); int x = rand() % 6 + 1; cout << "x: " << x << endl; return 0;}

運(yùn)行結(jié)果如下:

PS:計(jì)算機(jī)是一個(gè)可預(yù)測(cè)的系統(tǒng),因此不可能通過(guò)算法來(lái)產(chǎn)生真正的隨機(jī)數(shù)。在計(jì)算機(jī)中,所謂的隨機(jī)數(shù)通常都是偽隨機(jī)數(shù),即通過(guò)隨機(jī)算法計(jì)算出來(lái)的,可以被近似看作隨機(jī)數(shù)的數(shù)值。

常見(jiàn)的隨機(jī)數(shù)算法有線性同余法(Linear Congruential Generator)、梅森旋轉(zhuǎn)法(Mersenne twister)等。

以上就是本站?c生成隨機(jī)數(shù)代碼(const類型變量)的相關(guān)內(nèi)容了,更多精彩請(qǐng)關(guān)注作者:萬(wàn)年知識(shí)

聲明:本文由本站【創(chuàng)業(yè)者資源平臺(tái)】作者編輯發(fā)布,更多技術(shù)關(guān)注萬(wàn)年技術(shù)!


本文標(biāo)簽: [db:關(guān)鍵詞]  

為您推薦

c生成隨機(jī)數(shù)代碼(隨機(jī)生成c語(yǔ)言)

Matlab內(nèi)置了五種隨機(jī)函數(shù):rand:生成在(0, 1)之間均勻分布的隨機(jī)數(shù)randn:生成均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)randi(imax):生成在[1, imax] 均勻分布的偽隨

2023-07-31 18:04

電氣軟件有哪些(電氣軟件有哪幾種)

身為電氣人,每天打交道最多的可能不是自家對(duì)象,而是時(shí)時(shí)刻刻攥在手里的電氣圖。如果問(wèn)電氣圖有多重要?可以這么說(shuō)“假如一個(gè)搞電氣的掉進(jìn)了水里,先死死護(hù)住一定是手上的圖,然后才是人”。(雖然有些夸張,但這也

2023-07-31 18:04

2023年7月31日受降雨天氣影響北京公交線路詳情

??截至7月31日15時(shí),公交集團(tuán)受降雨天氣影響線路共428條。其中:采取停駛措施346條,采取區(qū)間措施10條,采取甩站繞行措施32條,采取等停措施40條。具體線路及措施如下:

2023-07-31 18:04

電腦屏幕亮度調(diào)節(jié)軟件哪個(gè)好(電腦亮度調(diào)節(jié)軟件下載)

軟件功能可以使用鼠標(biāo)來(lái)調(diào)整顯示器的OSD功能菜單大大減少顯示器調(diào)節(jié)難度增加顯示器的易用性這也預(yù)示著AOC在顯示器人性化設(shè)計(jì)上再次前進(jìn)了一步。可以更加方便的調(diào)整屏幕顏色可以輕松更換一種菜單目錄的亮度操作

2023-07-31 18:04

北京道路積水點(diǎn)路況實(shí)時(shí)查詢 北京道路積水情況

7月30日北京遭遇今年以來(lái)最大規(guī)模降雨。

2023-07-31 18:03

硬盤(pán)分區(qū)怎么分)(win7硬盤(pán)分區(qū)怎么分)

新電腦買(mǎi)來(lái),一般情況下,我們都會(huì)對(duì)硬盤(pán)進(jìn)行分區(qū)操作,這樣可以有利于硬盤(pán)分區(qū)管理,那怎么安全又快速實(shí)現(xiàn)硬盤(pán)分區(qū)呢?下面小編就跟大家分享用新毛桃裝機(jī)版DiskGenius分區(qū)工具給硬盤(pán)分區(qū)的教程。第一步將

2023-07-31 18:02