2021年遠端網路教育大學英語B統考題庫試題
阿新 • • 發佈:2021-10-29
隨機數的用途
- 單元測試
- 遊戲抽獎
- 模擬及安全
- and so on
隨機數產生器
- 生成器(engine):能夠產生離散的等可能分佈數值
- 如線性同餘法(linear_congruential_engine)
- 梅森旋轉法(meraenne_twister_engine)
- 滯後Fibonacci(substract_with_carry_engine)
- 分佈器(distribution):能夠把generator均勻分佈值對映到其他常見分佈
- 如均勻分佈(unifor)
- uniform_int_distribution 整數均勻分佈
- uniform_real_distribution 浮點數均勻分佈
- 正態分佈(normal) (僅有yes/no兩種結果,概率一個p,一個1-p)
- 二項分佈(binorial)
- 泊松分佈(poisson)
- 如均勻分佈(unifor)
default_random_engine e{}; // default engine
// distribution將產生的隨機數對映到整數1..6
uniform_int_distribution<int> one_to_six{1, 6};
// 產生一個符合指定規則的隨機數
int x = u(e);
auto dice{bind(u, e)};
int y = dice();
#include <random> // 產生隨機數 int rand_int(int low, int high) { using namespace std; static default_random_engine e; using Dist = uniform_int_distribution<int>; static Dist u{}; return u(e, Dist::param_type{low, high}); }