c++随机数引擎演示代码
时间: 2024-04-21 12:20:13 浏览: 27
当我们需要在C++中生成随机数时,可以使用随机数引擎。随机数引擎是一个生成随机数的对象,它根据一定的算法和种子值生成伪随机数序列。
下面是一个简单的C++随机数引擎演示代码:
```cpp
#include <iostream>
#include <random>
int main() {
// 创建一个随机数引擎对象
std::random_device rd;
std::mt19937 gen(rd());
// 定义随机数分布范围
std::uniform_int_distribution<> dis(1, 100);
// 生成随机数
int random_num = dis(gen);
// 输出随机数
std::cout << "生成的随机数为:" << random_num << std::endl;
return 0;
}
```
在上面的代码中,我们使用了`std::random_device`来获取一个真正的随机种子值,然后将该种子值传递给`std::mt19937`引擎对象。接下来,我们使用`std::uniform_int_distribution`定义了一个整数分布范围为1到100之间的均匀分布。最后,通过调用`dis(gen)`来生成一个随机数。
相关问题
c++随机数代码
C++中生成随机数可以使用标准库中的rand()函数,其返回一个0到RAND_MAX之间的整数。我们可以通过取余和加法来将其转换为指定范围内的随机数。
以下是一个生成1到100之间的随机数的示例代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
// 设置随机数种子
srand(time(0));
// 生成随机数
int random_num = rand() % 100 + 1;
// 输出随机数
cout << "随机数为:" << random_num << endl;
return 0;
}
```
需要注意的是,为了保证每次运行程序生成的随机数不同,我们需要在程序中设置一个随机数种子。上面的代码使用了当前时间作为种子,因此每次运行程序生成的随机数都不同。
c++生成随机数的代码
你可以使用 `<random>` 头文件来生成随机数。以下是一个示例代码:
```cpp
#include <iostream>
#include <random>
int main() {
// 创建一个随机数引擎
std::random_device rd;
std::mt19937 gen(rd());
// 定义随机数分布范围
int min = 1;
int max = 100;
std::uniform_int_distribution<> dis(min, max);
// 生成随机数
int random_num = dis(gen);
// 打印结果
std::cout << "随机数: " << random_num << std::endl;
return 0;
}
```
这段代码使用了 `std::random_device` 作为种子来初始化 `std::mt19937` 随机数引擎。然后,使用 `std::uniform_int_distribution` 定义了一个均匀分布的整数范围。最后,调用 `dis(gen)` 生成随机数。
请注意,由于使用了 `std::random_device`,每次运行程序时都会生成不同的随机数。如果你需要固定的随机数序列,可以使用固定的种子来初始化 `std::mt19937` 引擎。