C++ 利用 rand () 產生隨機數

1.rand () 函數介紹

rand () 的效果可以產生從 0~RAND_MAX (int 的最大值) 之間的隨機整數。

在模擬亂數時,需要設定一個亂數種子,所以如果要讓每次執行程式的結果都不一樣的話,必須要設定不同的亂數種子,設定亂數種子的函數為 srand (int)。
一般來說,會在程式加上 srand (time (NULL)); 這一行,讓亂數種子以現在的時間做設定,這樣每次執行程式的結果就不同了。

2. 任意浮點數範圍或是任意整數範圍的隨機數

0~1 之間的隨機浮點數

1
double x = (double) rand () / (RAND_MAX + 1.0);

a~b 之間的隨機浮點數
1
double x = (b - a) * rand () / (RAND_MAX + 1.0) + a;

a~b 之間的隨機整數
1
int x = rand () % (b - a + 1) + a;

3. 不公平的骰子

C++ learing 总览

C++ 四舍五入
C++ 取出一個數的每一位
C++ 利用 rand () 產生隨機數
C++ 小知识点总结
C++ 解釋一個語句
C++ #include
C++ RALL
C++ 运算符
C++ 万能标头档
讓 Dev C++ 支持 C++11