随机数未达到限制
Random Numbers aren't reaching limit
我正在为 110,000 到 320,000 之间的数字创建一个随机数生成器。当我运行它时,没有数字超过 150,000。有没有办法确保生成超过 150,000 的数字?即使生成数千个数字也不起作用。我知道我有很多东西。这是代码:
#include <stdlib.h>
#include <iostream>
#include <Windows.h>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <sstream>
#include <conio.h>
#include <ctime>
#include <random>
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
int main() {
srand((unsigned) time(0));
int randomNumber;
for (int index = 0; index < 500; index++) {
randomNumber = (rand() % 320000) + 110000;
cout << randomNumber << endl;
}
}
正如约翰所指出的。您可以使用更新的随机数生成器更易于操作。
改编C++ Reference about uniform_int_distribution
代码 因为您的用例很简单:
#include <iostream>
#include <random>
int main(void) {
std::random_device rd; // Will be used to obtain a seed for the random number engine
std::mt19937 gen(rd()); // Standard mersenne_twister_engine seeded with rd()
std::uniform_int_distribution<> distrib(110000, 320000);
for (int n=0; n<10; ++n)
// Use `distrib` to transform the random unsigned int generated by
// gen into an int in [110000, 320000]
std::cout << distrib(gen) << ' ';
std::cout << 'n';
}
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 模板参数替换失败,并且未完成隐式转换
- 整数不会重复超过随机数
- 随机数未达到限制
- 未达到的情况会影响开关外壳性能
- 在编译时,C++项目抛出错误 C2228,这是预期的,因为控件在运行时未达到该点
- 模板元编程三元值未达到基本情况
- 连接循环准确的Systemc编码样式,具有未达到的编码样式
- 为什么未达到的 try-catch 块会增加运行时时间
- 从数组中删除未使用的内存,以免输出随机数
- 在功能中操纵未达到的阵列
- 随机数函数未正确随机化 (C++)
- 当变量达到最大值时,unsigned int的增量是否会导致未定义的行为
- 函数模板未正确生成随机数
- Parralrel工作但未达到预期效果
- 掷骰子 - 随机数未正确生成C++
- 长双精度未达到要求
- C++随机数猜测游戏-变量未声明错误
- 未初始化的局部变量是最快的随机数生成器