相关疑难解决方法(0)

将随机范围从1-5扩展到1-7

给定产生1到5范围内的随机整数的函数,写一个产生1到7范围内随机整数的函数.

  1. 什么是简单的解决方案?
  2. 什么是减少内存使用或在较慢的CPU上运行的有效解决方案?

random puzzle algorithm

683
推荐指数
22
解决办法
20万
查看次数

如何在C中生成随机int?

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

c random

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

什么是游戏的好随机数生成器?

什么是用于C++游戏的优秀随机数生成器?

我的考虑是:

  1. 需要大量随机数,因此速度很快.
  2. 玩家总会抱怨随机数字,但我希望能够将它们指向一个解释我真正完成工作的参考.
  3. 由于这是一个我没有太多时间的商业项目,如果算法a)相对容易实现或者b)具有良好的非GPL实现,那将是很好的.
  4. 我已经rand()在很多地方使用,所以任何其他发电机最好能够证明它需要的所有变化.

我对这个问题知之甚少,所以我能想到的唯一选择是Mersenne Twister ; 它满足所有这些要求吗?还有什么比这更好的吗?

编辑: Mersenne Twister似乎是共识的选择.但是第4点呢?它真的好多了rand()吗?

编辑2:让我对第2点更清楚一点:通过了解随机数,玩家无法作弊.期.我希望它足够随意,人们(至少那些了解随机性的人)不能抱怨它,但我并不担心预测.这就是为什么我把速度作为首要考虑因素.

编辑3:我现在倾向于Marsaglia RNG,但我仍然想要更多的输入.因此,我正在设立一个赏金.

编辑4:只是一个注释:我打算在今天午夜UTC之前接受一个答案(以避免弄乱别人的代表帽).所以如果你想回答,不要等到最后一分钟!
此外,我喜欢Marsaglia的XORshift发电机的外观.有没有人对它们有任何意见?

c++ random performance

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

rand()的实现

我在C中编写一些嵌入式代码,需要使用rand()函数.不幸的是,控制器的库不支持rand().我需要一个快速的简单实现,但更重要的是空间开销很小,产生相对高质量的随机数.有谁知道使用哪种算法或示例代码?

编辑:它用于图像处理,因此"相对高质量"意味着良好的循环长度和良好的均匀特性.

c random embedded

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

c - 随机数发生器

如何生成0到1之间的随机数?

c random

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

标签 统计

random ×5

c ×3

algorithm ×1

c++ ×1

embedded ×1

performance ×1

puzzle ×1