相关疑难解决方法(0)

在JavaScript中生成特定范围内的随机整数?

如何在Javascript中的两个指定变量之间生成随机整数,例如x = 4y = 8输出4,5,6,7,8中的任何一个?

javascript random integer

1836
推荐指数
24
解决办法
118万
查看次数

如何在C中生成随机int?

是否有在C中生成随机int数的函数?或者我必须使用第三方库吗?

c random

527
推荐指数
11
解决办法
154万
查看次数

从范围生成随机整数

我需要一个能在给定范围内生成随机整数的函数(包括边界值).我没有不合理的质量/随机性要求,我有四个要求:

  • 我需要快速.我的项目需要产生数百万(有时甚至数千万)的随机数,而我当前的发电机功能已被证明是一个瓶颈.
  • 我需要它合理均匀(使用rand()非常好).
  • min-max范围可以是<0,1>到<-32727,32727>.
  • 它必须是可播种的.

我目前有以下C++代码:

output = min + (rand() * (int)(max - min) / RAND_MAX)
Run Code Online (Sandbox Code Playgroud)

问题是,它并不是真正统一的 - 只有当rand()= RAND_MAX时才返回max(对于Visual C++,它是1/32727).这是小范围的主要问题,如<-1,1>,其中最后一个值几乎从不返回.

所以我抓住笔和纸,并提出了以下公式(它建立在(int)(n + 0.5)整数舍入技巧):

在此输入图像描述

但它仍然没有给我统一的分配.对于值-1,0,0,重复运行10000个样本给出37:50:13的比率.

你能建议更好的配方吗?(甚至整个伪随机数发生器功能)

c++ random

154
推荐指数
8
解决办法
26万
查看次数

如何在C中使用/ dev/random或urandom?

我想使用/dev/random/dev/urandom在C.我怎么能这样做?我不知道如何在C中处理它们,如果有人知道请告诉我如何.谢谢.

c linux random

72
推荐指数
5
解决办法
8万
查看次数

某些范围内的随机数c ++

可能重复:
在整个范围内均匀生成随机数

我想在c ++中生成随机数,在某些范围内,假设我希望数字在25到63之间.

我怎么能这样.

谢谢

c++ random

52
推荐指数
6
解决办法
17万
查看次数

如何缩小rand()的数字?

以下代码每秒输出一个随机数:

int main ()
{
    srand(time(NULL)); // Seeds number generator with execution time.

    while (true)
    {
        int rawRand = rand();

        std::cout << rawRand << std::endl;

        sleep(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何调整这些数字的大小,使它们总是在0-100的范围内?

c++ random generator mersenne-twister

34
推荐指数
4
解决办法
2万
查看次数

16
推荐指数
3
解决办法
3万
查看次数

15
推荐指数
2
解决办法
7万
查看次数

给定均匀随机数生成器生成随机数

有人问我产生之间的随机数ab,包容,使用random(0,1).random(0,1)生成0到1之间的均匀随机数.

我回答了

(a+(((1+random(0,1))*b))%(b-a))
Run Code Online (Sandbox Code Playgroud)

我的采访者对我b在这段表达中的用法不满意:

(((1+random(0,1))*b))
Run Code Online (Sandbox Code Playgroud)

然后我尝试将我的答案改为:

int*z=(int*)malloc(sizeof(int));
(a+(((1+random(0,1))*(*z)))%(b-a));
Run Code Online (Sandbox Code Playgroud)

后来这个问题改变产生random(1,7)random(1,5).我回答:

A = rand(1,5)%3
B = (rand(1,5)+1)%3
C = (rand(1,5)+2)%3

rand(1,7) = rand(1,5)+ (A+B+C)%3
Run Code Online (Sandbox Code Playgroud)

我的答案是否正确?

c c++ algorithm

3
推荐指数
1
解决办法
3299
查看次数

如何使用rand()生成范围内的数字?

可能重复:
在整个范围内统一生成随机数
如何使用rand函数

谁能告诉我如何在C编程中使用rand()函数,其中包括1 = min和
7 = max,1和7.

谢谢

c random max min

3
推荐指数
1
解决办法
6万
查看次数