Tag: 随机

随机生成器从C到Java的端口?

George Marsaglia写了一个很好的随机数发生器,它的速度非常快,简单,而且比Mersenne Twister的周期要长得多。 这里是描述的代码: 好C随机数发生器 我想将CMWC4096代码移植到Java,但它使用了几个无符号的数据types,所以我不知道如何正确地做到这一点。 这是完整的C代码: /* choose random initial c<809430660 and */ /* 4096 random 32-bit integers for Q[] */ static unsigned long Q[4096],c=362436; unsigned long CMWC4096(void) { unsigned long long t, a=18782LL; static unsigned long i=4095; unsigned long x,r=0xfffffffe; i = (i+1) & 4095; t = a*Q[i] + c; c = (t>>32); […]

在C中生成随机数

在search关于在CI中生成随机数的教程时发现了这个主题 当我尝试使用不带参数的rand()函数时,我总是得到0.当我尝试使用带有参数的rand()函数时,我总是得到值41.每当我尝试使用arc4random()和random()函数,我得到一个LNK2019错误。 以下是我所做的: #include <stdlib.h> int main() { int x; x = rand(6); printf("%d", x); } 这段代码总是生成41.我在哪里出错? 我正在运行Windows XP SP3并使用VS2010命令提示符作为编译器。

如何select一个项目的概率?

我有一个项目列表。 每个项目都有自己的概率。 任何人都可以提出一个algorithm来select一个项目的概率?

如何在C ++中创build一个随机字母数字string?

我想创build一个随机string,由字母数字字符组成。 我希望能够指定string的长度。 我如何在C ++中做到这一点?

加载骰子的数据结构?

假设我有一个n边加载的模子,当我滚动它时,每个边k有一些概率pk 。 我很好奇,如果有一个很好的algorithm来静态存储这个信息(即对于一组固定的概率),这样我就可以高效地模拟一个随机掷骰子。 目前,我有一个O(LG)的解决scheme,这个问题。 这个想法是为所有k存储一个前k个边的累积概率表,它们在[0,1)范围内产生一个随机实数,然后在表上进行二分search,得到最大的累积索引值不大于选定的值。 我更喜欢这个解决scheme,但运行时不考虑概率似乎很奇怪。 特别是在极端情况下,一方面总是出现或者价值是均匀分布的,可能使用一种简单的方法在O(1)中生成滚动的结果,尽pipe我的解决scheme仍然需要对数很多的步骤。 有没有人有任何build议,如何解决这个问题的方式是在某种程度上“适应”在运行时? 编辑 :基于这个问题的答案,我写了一篇文章,描述了这个问题的许多方法 ,以及他们的分析。 它看起来像Vose的别名方法的实施给予Θ(n)预处理时间和O(1)时间每个die roll,这真是令人印象深刻。 希望这是对答案中包含的信息的有益补充!

将arc4random()的结果转换为Int时崩溃

我写了一个简单的Bag类。 一个袋子里装满了固定比例的温度枚举。 它允许您随机抓取一个,并在空的时候自动重新填充。 它看起来像这样: class Bag { var items = Temperature[]() init () { refill() } func grab()-> Temperature { if items.isEmpty { refill() } var i = Int(arc4random()) % items.count return items.removeAtIndex(i) } func refill() { items.append(.Normal) items.append(.Hot) items.append(.Hot) items.append(.Cold) items.append(.Cold) } } 温度枚举看起来像这样: enum Temperature: Int { case Normal, Hot, Cold } 我的GameScene:SKScene有一个不断的实例属性bag:Bag […]

如何从MS Access数据库获得随机logging

我有一个MS访问数据库。 在这里,一个表格由包含主要问题ID的问题和答案组成。 我需要使用questionID从该表中检索随机问题。 我应该在这个场景中使用什么关键字或查询。

Java使用种子的随机数

这是我的代码使用种子作为参数生成随机数字。 double randomGenerator(long seed) { Random generator = new Random(seed); double num = generator.nextDouble() * (0.5); return num; } 每次我给一个种子,并尝试产生100个数字,他们都是一样的。 请帮忙。

来自Sql数据库的简单随机样本

如何在SQL中进行高效的简单随机样本? 有问题的数据库正在运行MySQL; 我的桌子至less有20万行,我想要一个简单的约10,000个随机样本。 “明显的”答案是: SELECT * FROM table ORDER BY RAND() LIMIT 10000 对于大型表来说,这太慢了:它为每一行调用RAND()(它已经把它放在O(n)),并对它们进行sorting,最好使它成为O(n lg n)。 有没有办法比O(n)更快地做到这一点? 注意 :正如Andrew Mao在注释中指出的那样,如果您在SQL Server上使用这种方法,则应该使用T-SQL函数NEWID(),因为RAND() 可能会为所有行返回相同的值 。 编辑:5年后 我再次遇到了一个更大的表,并最终使用@愚昧的解决scheme版本,有两个调整: 将行以2-5倍我所需的样本大小进行采样,以便宜的方式ORDER BY RAND() 将RAND()的结果保存到每个插入/更新的索引列中。 (如果你的数据集不是非常重要的,你可能需要find另一种方法来保持这个列的新鲜。) 要获取1000个表格的样本,我对这些行进行计数,并将结果平均采样到frozen_rand列的平均值10,000行: SELECT COUNT(*) FROM table; — Use this to determine rand_low and rand_high SELECT * FROM table WHERE frozen_rand BETWEEN %(rand_low)s AND %(rand_high)s ORDER BY […]

独特的随机string生成

我想生成随机的唯一string,如MSDN库生成的string: 例如http://msdn.microsoft.com/en-us/library/t9zk6eay.aspx 。 应该生成一个像“t9zk6eay”的string。