gpt4 book ai didi

c++ - 生成一定速率的随机数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:31 25 4
gpt4 key购买 nike

我有以下试图生成的 C++ 代码一个随机数。 idea我们是否给出了一些速率“x”和运行次数?我们希望它能生成与(x * 运行次数)一样多的数字。

#include <iostream>      
#include <vector>
#include <fstream>
#include <sstream>
#include <time.h>
using namespace std;


int main () {

// Initialize Random Seed
srand (time(NULL));

string line;
double SubsRate = 0.003;
double nofRuns = 1000000;

for (unsigned i=0; i < nofRuns ; i++) {

int toSub = rand() % 1000 + 1;

if (toSub == (SubsRate * 1000)) {
cout << toSub << " Sub" << endl;
}

}
return 0;
}

因此,如果我们使用此命令运行以上代码 K 次:

$ a=0 ; while test $a -lt 10 ; do ./MyCode | wc -l ; a=`expr $a + 1` ; done

我们预计它在 100 万次运行中生成数字“3”多达 3000 次。但一些我上面的代码如何只生成数字“3”多达 900 ~ 1000 次。

我怎样才能改进上面的代码?

最佳答案

换句话说,您正在检查结果 == 3,而不是结果 <= 3。

3 只会发生,千分之一,但 <= 3 会以您想要的速度发生。

关于c++ - 生成一定速率的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/613361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com