老是忘記怎么用,自己寫一個用作備忘錄吧。
首先需要的頭文件:
#include <random>
或者是
#include <bits/stdc++.h> //萬能頭 yyds
先制定隨機種子(關系到之后的隨機數)
std::mt19937 myseed(114514);
對於一般的情況,我們只需要用到整數的隨機數。
定義一個從 \(l\) 到 \(r\) 的 均勻 隨機數可以這樣。
std::uniform_int_distribution <int> myrand(l, r);
使用的話直接看代碼 :
#include <bits/stdc++.h>
std::mt19937 seed(114514);
signed main(void) {
std::uniform_int_distribution <int> dist(0, 4);
for (int i = 0; i < 100000; ++i)
std::cout << myrand(seed) << std::endl;
}
為了方便,我們可以這樣寫一個自己的 \(rand(l,r)\) 函數。
std::mt19937 seed(114514);
template <class T> T rand(T l, T r) {
return std::uniform_int_distribution<int>(l, r)(seed);
}