相关疑难解决方法(0)

在整个范围内均匀生成随机数

我需要在指定的时间间隔内生成随机数,[max; min].

此外,随机数应该在区间上均匀分布,而不是位于特定点.

Currenly我正在生成:

for(int i=0; i<6; i++)
{
    DWORD random = rand()%(max-min+1) + min;
}
Run Code Online (Sandbox Code Playgroud)

从我的测试中,只有一点产生随机数.

Example
min = 3604607;
max = 7654607;
Run Code Online (Sandbox Code Playgroud)

随机数生成:

3631594
3609293
3630000
3628441
3636376
3621404
Run Code Online (Sandbox Code Playgroud)

从下面的答案:好的,RAND_MAX是32767.我在C++ Windows平台上.有没有其他方法来生成具有均匀分布的随机数?

c++ random

83
推荐指数
7
解决办法
11万
查看次数

生成随机数(在限制范围内)代码超过上限

我的计算机科学C++书说,为了生成具有下限(在这种情况下为15)和上限(在这种情况下为50)的随机数,我们必须使用以下代码.但是当我使用它时,我的输出为53,52,49,15.是否有原因导致程序提供超出上限的结果或代码错误.

#include <iostream>
#include <stdlib.h>

using namespace std;
int main(){
int i,rdno;
for(i=1;i<5;++i){
        rdno=(rand()%50)+15;
    cout <<rdno<<endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ random

-2
推荐指数
1
解决办法
1878
查看次数

标签 统计

c++ ×2

random ×2