1. 程式人生 > 其它 >2021年遠端網路教育大學英語B統考題庫試題

2021年遠端網路教育大學英語B統考題庫試題

隨機數的用途

  • 單元測試
  • 遊戲抽獎
  • 模擬及安全
  • 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)
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});
}