相关疑难解决方法(0)

如何在C中生成随机int?

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

c random

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

在C中生成INTEGERS的均匀分布

我编写了一个C函数,我认为从范围[rangeLow,rangeHigh](包括范围)的均匀分布中选择整数.这不是功课 - 我只是在一些嵌入式系统中使用它来修补我正在做的事情.

在我的测试用例中,此代码似乎产生了适当的分布.但是,我并不完全相信实施是正确的.如果我在这里做错了什么,有人可以做一次健全检查并让我知道吗?

//uniform_distribution returns an INTEGER in [rangeLow, rangeHigh], inclusive.
int uniform_distribution(int rangeLow, int rangeHigh)
{
    int myRand = (int)rand(); 
    int range = rangeHigh - rangeLow + 1; //+1 makes it [rangeLow, rangeHigh], inclusive.
    int myRand_scaled = (myRand % range) + rangeLow;
    return myRand_scaled;
}
//note: make sure rand() was already initialized using srand()
Run Code Online (Sandbox Code Playgroud)

PS我搜索了这样的其他问题.但是,很难过滤掉讨论随机整数而不是随机浮点数的小问题子集.

c algorithm statistics integer uniform

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

除一个数字之外的某个范围内的随机整数

我想在一个范围内得到一个随机数,不包括一个数字(例如从1到1000不包括577).我搜索了一个解决方案,但从未解决过我的问题.

我想要的东西:

Math.floor((Math.random() * 1000) + 1).exclude(577);
Run Code Online (Sandbox Code Playgroud)

我想避免for循环创建一个尽可能多的数组,因为长度总是不同的(有时1到10000,有时是685到888555444等),生成它的过程可能需要太多时间.

我已经尝试过:

我怎么能实现这个目标?

javascript random

10
推荐指数
2
解决办法
4932
查看次数

标签 统计

c ×2

random ×2

algorithm ×1

integer ×1

javascript ×1

statistics ×1

uniform ×1