网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
class uniform_int_distribution;
#include
#include
#include
using namespace std;
int main() {
// 产生 [1, 100] 左闭右闭区间的随机整数
uniform_int_distribution u(1, 100);
default_random_engine e;
// 为随机数引擎设置随机种子, 若不设置每次生成的随机数相同(可以创建时设置)
// 类似 srand() 的用法, 相同的种子生成的随机数相同
// default_random_engine e(time(NULL));
e.seed(time(NULL));
for (size_t i = 0; i < 10; ++i) {
cout << u(e) << " ";
}
cout << endl;
return 0;
}
### 生成随机浮点数
**uniform\_real\_distribution**:产生均匀分布的实数。
// RealType
// A floating-point type. Aliased as member type result_type.
// By default, this is double.
template
class uniform_real_distribution;
#include
#include
#include
using namespace std;
int main() {
// 生成 [-1, 1] 范围随机浮点数
// 模板参数只能是浮点类型(float/double/long double)
uniform_real_distribution u(-1, 1);
default_random_engine e(time(NULL));
for (size_t i = 0; i < 10; ++i) {
cout << u(e) << " ";
}
cout << endl;
return 0;
}
## 生成非均匀分布随机数
### 正态分布随机数
template
class normal_distribution;
#include
#include
#include
using namespace std;
int main() {
// 生成符合均值为 10, 标准差为 2 的随机数
normal_distribution u(10, 2);
default_random_engine e(time(NULL));
for (size_t i = 1; i <= 100; ++i) {
printf("%-9.6lf ", u(e));
if (i % 10 == 0) {
cout << endl;
}
}
cout << endl;
return 0;
}
### 二项分布的布尔值
class bernoulli_distribution;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.csdn.net/topics/618668825)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!