21xrx.com
2025-07-09 11:22:18 Wednesday
登录
文章检索 我的文章 写文章
C++实现随机数的方法
2023-07-09 08:29:43 深夜i     21     0
C++ 随机数 实现方法

C++是一门广泛应用于计算机编程领域的高级编程语言。在很多应用场景中,需要生成随机数,而C++中也有多种实现随机数的方法。

其中,C++标准库中的rand()函数是最基本的随机数生成函数。使用该函数需要包含头文件 ,调用时可以通过srand()函数设置种子,以保证生成的随机数是真正随机的。示例如下:

#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
  srand(time(NULL)); // 设置种子
  for(int i=0; i<10; i++)
  {
    cout << rand()%100 << " "; // 生成0-99之间的随机数
  }
  cout << endl;
  return 0;
}

除此之外,C++11中新增了一个头文件 ,其中包含了多种随机数生成器,对应不同分布情况。这些生成器分别定义在std::random_device、std::mt19937、std::uniform_int_distribution等类中,可以满足不同的需求。示例如下:

#include <iostream>
#include <random>
using namespace std;
int main()
{
  random_device rd; // 随机数引擎
  mt19937 gen(rd()); // Mersenne Twister算法
  uniform_int_distribution<> dis(1, 100); // 生成1-100之间均匀分布的整数
  for(int i=0; i<10; i++)
  {
    cout << dis(gen) << " ";
  }
  cout << endl;
  return 0;
}

上述代码使用了Mersenne Twister算法生成随机数,保证生成的随机数是高质量的。同时,生成器和分布器通过重载()运算符实现了调用,使得使用变得更加简单。

  
  

评论区