在C++ 中生成指定範圍內的隨機數 - Techie Delight
文章推薦指數: 80 %
这篇文章将讨论如何在C++ 中生成指定范围内的随机数. ... int random(int low, int high) ... 標頭中還有其他幾個預定義的隨機數生成器
1.使用std::uniform_int_distribution
在現代C++中生成兩個值(包括)之間的隨機數的簡單解決方案是使用std::uniform_int_distribution,它生成均勻分佈在指定閉合區間上的隨機整數值。
以下解決方案在給定的封閉區間內產生高質量的整數隨機數,其中std::uniform_int_distribution.它用std::random_device獲取標準mersenne_twister_engine的種子std::mt19937,基於MersenneTwister算法。
1234567891011121314151617181920
#include
在封閉範圍內生成隨機值[low,high],你可以使用表達式low+rand()%(high-low+1),播種後rand()具有隨機值(例如當前時間)的函數。
12345678910111213141516171819
#include
1234567891011
#include
延伸文章資訊
- 1C/C++ 使用rand 函數產生隨機亂數教學與範例程式碼- G. T. Wang
上面的程式中我們將 rand 函數所產生整數除以 RAND_MAX + 1.0 ,就可以得到 [0, 1) 這個範圍的浮點數亂數(也就是 0 <= x < 1 )。 特定範圍浮點數亂數.
- 2【教學】『C/C++』利用rand()及srand()產生整數亂數、小數亂數
rand()這個函數會隨機產生0~RAND_MAX的數字,而RAND_MAX為編譯器設定的數字,可以用Printf("%d",RAND_MAX)來查看。要產生特定範圍的亂數只要先產生0~1 ...
- 3如何在C++ 中生成範圍內的隨機數 - Delft Stack
創建時間: November-24, 2020. 使用C++11 <random> 庫生成一個範圍內的隨機數; 使用 rand 函式生成一個範圍內的隨機數. 本文將演示多種C++ 方法,講述如何...
- 4[C&++] 亂數基本使用@ Edison.X. Blog
[亂數] <細說> C/C++ 亂數基本使用與常見問題 ... 接著呼叫rand() 便可產生隨機亂數,隨機亂數的範圍為0 ~RAND_MAX,RAND_MAX 為一macro,在我的電腦 ...
- 5如何控制亂數的出現範圍呢? /信仁君
如何控制亂數的出現範圍呢? /信仁君. 不管是Fortran、Visual Basic或C/C++等等, 如果要產生0~9 之間的亂數,就是random(10)。 如果要產生1~10 之間的亂數...