#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
#include <QtCore/qmath.h>
int my_rand(int in,const int bit,const int end){
static int number = 0;
QString ms=QDateTime::currentDateTime().toString("zzz");
QString ss=QDateTime::currentDateTime().toString("ss");
int ret = (ms.toUInt()*in+ss.toUInt())%bit;
if(number > end){
return ret;
}else {
number++;
//qDebug()<<ret;
my_rand(ret,bit,end);
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
for(int i=0;i<100;i++){
qDebug()<<my_rand(i,1000,100);
}
return a.exec();
}
大多数语言都有内置随机数函数,但大家都知道随机数都是伪随机。自己就写了一个随机函数,当然也可能也是伪随机函数。写着玩随不随机不重要。
函数介绍:
my_rand(int in,const int bit,const int end)
参数in :是传入参数可以是任意int数作为起始值开始随机。
参数bit:是想要几位的随机数,例如想要3位随机数,就写1000,如果想要2位数就写100,1位就写10.以此类推。想要几位就加几个零。
参数end:my_rand是一个递归函数,以保证传入参数多随机几次,以保证随机性,所以加入此参数,作为结束符。例如end是100,my_rand函数就会递归100次,然后返回一个值。
效果图如下图: