自制QtC++随机算法

2 篇文章 0 订阅
#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次,然后返回一个值。

效果图如下图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值