C++自带的random
时间: 2023-08-29 22:12:53 浏览: 57
C++自带的random库是用于生成随机数的标准库,它提供了多种随机数生成器和分布函数。其中最常用的是生成均匀分布随机数的随机数引擎和分布函数uniform_real_distribution和uniform_int_distribution。
以下是一个使用C++自带的random库生成10个0到100之间的随机整数的示例代码:
```c++
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(0, 100);
for (int i = 0; i < 10; ++i) {
std::cout << dis(gen) << ' ';
}
std::cout << std::endl;
return 0;
}
```
在上面的代码中,我们首先使用std::random_device生成一个随机数种子,然后将其传递给std::mt19937引擎。接下来,我们使用std::uniform_int_distribution生成一个0到100之间的均匀分布,并将其传递给引擎。最后,我们使用循环生成10个随机整数,并将其输出到屏幕上。
相关问题
c++ random
在 C++ 中,可以使用 `<random>` 头文件来生成伪随机数。该头文件提供了多种生成随机数的方法,包括线性同余生成器、梅森旋转算法等。
下面是一个简单的例子,使用 `std::mt19937` 生成器和 `std::uniform_int_distribution` 分布来生成一个 1 到 100 的随机整数:
```c++
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1, 100);
std::cout << "Random number: " << dis(gen) << '\n';
return 0;
}
```
其中,`std::random_device` 用于获取一个真随机数生成器的种子,`std::mt19937` 是一个 32 位的梅森旋转算法生成器,`std::uniform_int_distribution` 用于生成整数分布。
需要注意的是,生成的随机数是伪随机数,因此在每次运行程序时生成的随机数序列可能是不同的,但在同一次运行中生成的随机数序列是确定的。
C++ random函数
C++中的random函数可以用来生成随机数。它需要包含头文件<cstdlib>,并且可以通过设置随机数种子来控制随机数的生成。以下是一个简单的例子:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
// 设置随机数种子为当前时间
std::srand(std::time(nullptr));
// 生成10个随机数
for (int i = 0; i < 10; i++) {
std::cout << std::rand() << std::endl;
}
return 0;
}
```
在上面的例子中,我们使用了std::srand函数来设置随机数种子,它需要一个整数参数。我们使用std::time函数来获取当前时间,并将其转换为整数作为种子。这样每次运行程序时,种子都会不同,从而生成不同的随机数序列。