Qt产生随机数

Qt产生随机数

提问:

有没有小伙伴遇到这么一种情况,使用rand()和qrand()函数生成的随机数好像不是那么随机,每次都一样。那这种就叫做"伪随机",因为没有种随机数种子,所以系统默认随机数种子是固定值。

在Qt项目中呢,生成随机数有两个步骤:

1.使用qsrand()种随机数种子

2.调用qrand()生成随机数

注意:

1.实践证明、如果是要在某一循环中产生随机数,随机数种子一定要写在循环外面,循环的时候用qrand()函数获取随机数。

2.千万、千万、千万不能在循环内部设置时间种子,因为CPU处理循环一次时间太短,会产生大量重复的值,这样获取的随机数是没有意义的。

3.切记!计算机产生的随机数都是伪随机数,不是真正意义的随机数,不能用它来进行某些统计计算等。

实现:

方法一:

javascript 复制代码
#include <QTime>
#include <QtGlobal>
QTime time;
time= QTime::currentTime();
qsrand(time.msec()+time.second()*1000);
或者
qsrand(QTime(0, 0, 0).msecsTo(QTime::currentTime()));
int n = qrand() % 10;    //产生10以内的随机数

方法二:

javascript 复制代码
#include <QTime>
#include <QtGlobal>
qsrand(0);
int n = qrand() % 10;    //产生10以内的随机数
相关推荐
淼澄研学12 小时前
Kimi API黑产倒卖技术解析与Python合规接入指南
开发语言·网络·python
冻柠檬飞冰走茶12 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
wangchen_012 小时前
C++正则表达式
开发语言·c++·正则表达式
何以解忧,唯有..12 小时前
Python 元组(tuple)详解:使用、遍历与排序
开发语言·python
KANGBboy12 小时前
Python eval安全隐患
开发语言·python
IT爱学堂12 小时前
java版数据结构和算法+AI算法和技能学习指南
java·开发语言
淼澄研学13 小时前
Python结合大模型挖掘搜题长尾关键词实操指南
开发语言·python
FfHUCisI13 小时前
Golang - 信号量模式(Semaphore Pattern)
开发语言·后端·golang
m0_5474866614 小时前
《Java程序设计与实践 》全套PPT课件2026
java·开发语言
灵析表格15 小时前
灵析表格财务函数深度实用性分析与实操教程
开发语言·ai·json·excel·wps