我需要一个函数,它可以在不使用标准库函数的情况下生成随机数。我认为time()%100
会很好,但是当你运行一个循环时,说10次,你会始终得到相同的值。有没有更好的办法?不使用stl函数编写随机函数
0
A
回答
0
我建议你第一次读到它的理论问题,而是一个简单的算法是:
与任何自定义值静态或全局命名种子变量。
对种子执行自定义数学运算,然后
r
再将结果存储在r
中。然后返回r
。 (注:r
是在你的随机函数静态变量)尝试和测试你的数学运算多次做出更好的功能。
注:您的种子变量可以用定时器设定值
2
只是实现一个简单的PRNG,例如使用Linear Congruential方法 - 它只是几行代码。
4
最简单的经典生成器是线性全等生成器。然而,参数的选择是至关重要的;请参阅随机数 发电机:良好的人很难找到(Park and Miller,CACM Oct., 1988)。喜欢的东西:
static int current; // Set to arbitrary value by seed
static long long const a = 48271;
static long long const m = 2147483647;
int
rand()
{
current = (a * current) % m;
return current;
}
(假设至少32位的int的。)
+0
+1代表伟大的代码示例。 –
相关问题
- 1. 为随机函数编写测试
- 2. 随机函数
- 3. 随机函数
- 4. 不能在随机函数
- 5. linux随机函数
- 6. Swift随机函数
- 7. Python随机函数
- 8. 调用随机函数
- 9. 数组,函数和随机
- 10. 函数随机不起作用
- 11. 如何在JES中编写随机选择函数
- 12. 使用XQuery参数编写SQL函数
- 13. 编写简单STL通用函数的问题
- 14. 的setInterval的随机函数
- 15. 随机函数刷新
- 16. C++随机int函数
- 17. Python中的随机函数
- 18. PHP随机函数名称
- 19. 运行函数随机
- 20. 随机函数在C#
- 21. 随机函数选择
- 22. 错误随机函数
- 23. Python的随机函数
- 24. 随机化函数实现
- 25. STL返回函数
- 26. 编写php函数
- 27. 编写Array.every()函数
- 28. Javascript函数不显示随机消息
- 29. 用JavaScript编写函数
- 30. Swift:如何调用调用随机函数的函数?
这是功课?如果是的话,重新标签将是有序的。 – otto
“有没有更好的办法......”总是。 –
[rand()](http://www.cplusplus.com/reference/clibrary/cstdlib/rand/)如何,它不是STL的一部分。 –