c++怎么产生1~100岁随机数啊

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 07:39:56
c++怎么产生1~100岁随机数啊
xUNPa.*3 p%bGIB3!PF0!IA@~UE$;>sνמLϏDsT?[1ҭlOg&TV梁"SHAj/U3fNZm?r3e!}+F:Zxױ˕hjkv' {~n+u2T/A9 uNG ;VSDf7XC&ϩa ʰ hfYej><([X-&ncQυ{d*2Tө+oJ6Kz5PgWYbE0_1EkuM2$>>ȨS<& 鍶:[o]F''A r6BM#=sI!u`r+](5T龛^S=f /&z+A/U>Ae Jr|vAţr\Rd2O V9g sbTV>85=x.JXD|G؅G(R,=yJBKU=7KDE9>H͊Yg}\B0 CXTQވ^Zi4~s玝X|abv d||x٣ע]lS!xe-;'crM‡ݳp<8>=EIB`0=Z+dQh(D`z >'g _AcvLHA9n jܻ"Ί*a$fA,T  GEʼ

c++怎么产生1~100岁随机数啊
c++怎么产生1~100岁随机数啊

c++怎么产生1~100岁随机数啊
c++ 11 可扩展的随机数功能[编辑]
C 标准库允许使用rand函数来生成伪随机数.不过其算法则取决于各程序库开发者. C++ 直接从 C 继承了这部份,但是 C++11 将会提供产生伪乱数的新方法.
C++11 的随机数功能分为两部分: 第一,一个乱数生成引擎,其中包含该生成引擎的状态,用来产生乱数.第二,一个分布,这可以用来决定产生乱数的范围,也可以决定以何种分布方式产生乱数.乱数生成对象即是由乱数生成引擎和分布所构成.
不同于 C 标准库的 rand; 针对产生乱数的机制,C++11 将会提供三种算法,每一种算法都有其强项和弱项:
C++11 将会提供一些标准分布: uniform_int_distribution (离散型均匀分布),bernoulli_distribution (伯努利分布),geometric_distribution (几何分布), poisson_distribution (卜瓦松分布),binomial_distribution (二项分布),uniform_real_distribution (离散型均匀分布), exponential_distribution (指数分布),normal_distribution (正态分布) 和 gamma_distribution (伽玛分布).
底下描述一个乱数生成对象如何由乱数生成引擎和分布构成:
std::uniform_int_distribution distribution(0, 99); // 以离散型均匀分布方式产生 int 乱数,范围落在 0 到 99 之间
std::mt19937 engine; // 建立乱数生成引擎
auto generator = std::bind(distribution, engine); // 利用 bind 将乱数生成引擎和分布组合成一个乱数生成物件
int random = generator(); // 产生乱数