使用如图方法可以生成一个随机数.
// An highlighted block
int myRand(int S){
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
int n = qrand() % S;
return n;
}
但是,在同一个函数中连续使用这个方法,或者在一个循环中使用这个办法就会生成一样的伪随机数.
为了生成不同的伪随机数使用如下方法解决这个问题.保证随机数种子的不同
class myMath
{
public:
int randSeed=1;
int myRand(int S){
qsrand(QTime(0,0,0).secsTo(QTime::currentTime())+randSeed*123456789);
int n = qrand() % S;
randSeed++;
return n;
}
};
6111

被折叠的 条评论
为什么被折叠?



