21xrx.com
2024-11-22 10:36:28 Friday
登录
文章检索 我的文章 写文章
C++代码:生成随机数
2023-06-30 01:23:41 深夜i     --     --
C++ 随机数 代码 生成

C++语言是一种强大的编程语言,其功能不仅仅局限于算法和数据结构。在C++中,可以使用随机数生成器生成各种类型的随机数。下面我们就来看一下如何在C++中生成随机数。

C++内置的随机数生成器

C++内置了两个随机数生成器,分别是“rand()”和“mt19937”。其中,“rand()”是一个伪随机数生成器,其随机性并不是很好,并且其结果可以复现。而“mt19937”则是一种真正的伪随机数生成器,其随机性非常好。

使用rand()生成随机数

下面是一个使用rand()生成随机数的例子:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

 srand(time(0));

 int randomNumber = rand() % 100;

 cout << "随机数为:" << randomNumber << endl;

 return 0;

}

上述程序中,我们首先使用“srand()”函数设置随机数种子。这里我们使用了当前的时间作为种子,保证每次程序运行时都会生成不同的随机数。

然后我们使用“rand()”函数生成一个0到99之间的随机数,并将其赋值给变量“randomNumber”。最后,我们输出生成的随机数。

使用mt19937生成随机数

下面是一个使用mt19937生成随机数的例子:


#include <iostream>

#include <random>

using namespace std;

int main()

{

 random_device rd;

 mt19937 gen(rd());

 uniform_int_distribution<> dis(1, 100);

 int randomNumber = dis(gen);

 cout << "随机数为:" << randomNumber << endl;

 return 0;

}

上述程序中,我们首先使用“random_device”获取一个随机数种子。

然后我们使用“mt19937”伪随机数生成器,并将随机数种子传递给它。接着,我们使用“uniform_int_distribution”生成一个1到100之间的均匀分布的整数随机数,并将其赋值给变量“randomNumber”。

最后,我们输出生成的随机数。

总结

使用C++内置的随机数生成器可以方便的生成随机数,但是在使用“rand()”函数生成随机数时需要注意它的不足之处。如果需要更好的随机性,可以使用“mt19937”伪随机数生成器。在使用时需要注意设置随机数种子,否则每次程序运行时都会生成相同的随机数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复