C++11:随机数库

来源:互联网 发布:彩绘精灵mac 编辑:程序博客网 时间:2024/06/07 00:54
#include <iostream>#include <string>#include <ctime>using namespace std;#include <random>int main(){    //C库的随机数    srand((unsigned)time(0));  //使用时间作为种子,初始化随机数    for (int i = 0; i < 10; i++){        cout << rand()/(double)RAND_MAX << ends;  //[0,1],打印随机数,需要double强制类型转换        cout << rand() % 10 + 1 << ends;  //[1,10]        int x = 13;        int y = 25;        cout << rand() % (y - x + 1) + x << endl;  //[x,y]    }    //C++的随机数库    //随机数发生器:分布对象和引擎对象的组合    uniform_int_distribution<unsigned> u(5, 9);  //均匀分布    default_random_engine e(time(0));  //默认引擎,以time(0)为种子    for (int i = 0; i < 10; i++){        cout << u(e) << ends;    }    cout << endl << e.min() << ends << e.max() << endl;    //其他随机数分布对象    uniform_real_distribution<double> ur(0,9);//生成随机实数    normal_distribution<> ud(0,9);  //正态分布生成浮点值,可使用#include <cmath> lround(ud(e))舍入到最接近的整数    bernoulli_distribution ub;  //默认是返回true的概率是0.5    return 0;}

运行结果:
这里写图片描述

0 0
原创粉丝点击