#include <random>
#include <vector>
//生成随机整数,均匀分布在闭区间[beg,end]
std::vector<int> GenRandomInt(int rand_num,int beg,int end) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(beg,end);
std::vector<int> v;
for(int i=0;i<rand_num;i++) {
v.push_back(dis(gen));
}
return v;
}
//生成随机浮点数,均匀分布在闭区间[beg,end]
std::vector<double> GenRandomDouble(int rand_num,int beg,int end) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_real_distribution<> dis(beg,end);
std::vector<int> v;
for(int i=0;i<rand_num;i++) {
v.push_back(dis(gen));
}
return v;
}
//生成随机浮点数,均匀分布在半闭半开区间[0,1)
std::vector<double> GenRandomDecimal(int rand_num) {
std::random_device rd;
std::mt19937 gen(rd());
std::vector<int> v;
for(int i=0;i<rand_num;i++) {
v.push_back(std::generate_canonical<double,10>(gen));
}
return v;
}
转载于:https://www.cnblogs.com/smallredness/p/11014573.html