C 11 筆記 (六) 隨機數

2022-02-13 08:21:21 字數 900 閱讀 5233

以前生成乙個隨機數都是這樣:

1

srand(time(null));

2 rand();

在c++11中,標準庫中增加了隨機數引擎 std::default_random_engine 這個好東西,然後我們就可以這樣:

1

std::default_random_engine rand_default;

2 rand_default();

另外可以指定隨機數種子,有兩種方式:

std::default_random_engine rand_default(100); //

建構函式指定

rand_default.seed(

100); //

seed成員函式指定

生成的隨機數是 unsigned int 型別的。

以前生成乙個分布是這樣:

1

int random(int low, int

high)

2

在c++11中,標準庫中增加了隨機數分布引擎 std::uniform_int_distribution 這個好東西,然後我們就可以這樣:

1 std::uniform_int_distribution rand_uniform(1, 10

);2 rand_uniform(rand_default);

隨機數分布引擎需要使用隨機數引擎生成隨機數。

由於我是乙個充滿探(dou)索(bi)精神的人,挑戰了一下極限:

1 std::uniform_int_distribution rand_uniform(10, 1);

果斷報錯了。。所以建構函式是(下限,上限)。。。

C 11產生隨機數

include include include include using namespace std 隨機數的結果一樣 void generate random 1 int num default random engine e 未用時間初始化種子,所以每次結果一樣 uniform int dis...

c 11 筆記,c 筆記

find if的使用 bool isthe const string s1 vectora auto aaa find if a.begin a.end isthe aaa為第乙個符合要求的位址。aaa為取到的值。aaa為迭代器 lambda 表示式 auto f cout auto aaa fin...

c 11 生成隨機數

過程中需要輸入自變數得到輸出結果。一般來說,如果在定義域中通過列舉的方式選取自變數,所需 要的時間會很長。如果選取特定的點作為自變數,程式或數學模型的正確性無法得到保證。如果隨機選取一定數量 的自變數,所需時間可以依選取的自變數數目而定,的結果能夠反映一般情況下的結果。c 11提供均勻分布 伯努利分...