srand相关内容

初始化 srand 的推荐方法?

我需要一种“好的"方法来初始化 C++ 中的伪随机数生成器.我发现 一篇文章 指出: 为了生成随机类数字,srand 通常被初始化到一些独特的价值,比如那些与执行时间有关.为了例如,返回的值功能时间(在标题中声明ctime) 每秒都不同,这对大多数人来说足够独特随机需求. Unixtime 对我的应用程序来说不够独特.初始化它的更好方法是什么?如果它是可移植的,则加分,但代码将主要在 ..
发布时间:2022-01-30 16:45:20 C/C++开发

Swift3 (Xcode8 beta 1) 中种子随机的等价物是什么

我需要在我的应用程序的每次执行中启动相同的随机数列表.srand/rand 不再存在.那我该怎么办? 私有扩展数组{private func randomValues(_seed: UInt32, num: Int) ->[元素] {srand(种子)var 索引 = [Int]()index.reserveCapacity(num)让范围 = 0.. 解决方案 您可以使用Swift3 中的 ..
发布时间:2022-01-01 11:22:36 其他开发

srand 与 rand 函数有什么关系?

我知道如果不更改种子编号,rand() 函数每次运行都会生成相同的编号.这就是 srand() 的用武之地.时间总是在变化,所以我知道您应该将 time(null) 参数传递给 srand.我的问题是来自教程站点的以下代码. int main(){int i, n=5;时间_t;/* 初始化随机数生成器 */srand((无符号)时间(&t));/* 打印 5 个从 0 到 50 的随机数 */ ..
发布时间:2021-12-21 16:01:05 其他开发

如何在 time.h 中使用函数 srand()?

我的程序包含每次执行时都应该生成一个随机正整数的代码.它生成随机数,但只生成一次.之后,当我执行相同的代码时,它给了我相同的值,这使我的代码变得毫无用处. 我从 rand 函数开始,然后将 srand() 函数与 time.h 头文件一起使用,但仍然它工作不正常. #define size 10for(i=0;i 第一次调用(随机): 6 0 2 0 6 7 5 5 8 6 第二次调 ..
发布时间:2021-12-21 15:56:37 其他开发

在 C++ 应用程序中,我应该多久调用一次 srand()?

我有一个 C++ 应用程序,它在不同的地方调用 rand().我是否需要定期初始化 srand() 以确保 rand() 是合理随机的,还是在应用程序启动时调用一次就足够了? 解决方案 如果您只有一个线程,请一次.如果您经常重新播种,实际上可能会破坏随机数的某些统计特性.如果您有多个线程,则根本不要使用 rand,而是使用诸如 drand48_r 之类的线程安全的东西,它可以让您保持每个线 ..
发布时间:2021-12-21 15:52:34 C/C++开发

Rand() % 14 只生成值 6 或 13

每当我运行以下程序时,返回的值总是 6 或 13. #include #include #include #include 使用命名空间标准;//void randomLegs();//void randomPush();//void randomPull();//void randomMisc();int main(int argc, const char * ..
发布时间:2021-12-21 15:39:11 C/C++开发

srand()——为什么只调用一次?

这个问题是关于这个问题的评论推荐的srand初始化方式?第一条评论说srand() 应该在应用程序中只调用一次.为什么会这样? 解决方案 这取决于您要实现的目标. 随机化作为具有起始值的函数执行,即种子. 因此,对于相同的种子,您将始终获得相同的值序列. 如果每次需要随机值时都尝试设置种子,并且种子是相同的数字,那么您将始终获得相同的“随机"值. seed 通常取当 ..
发布时间:2021-12-01 23:35:01 其他开发

推荐的初始化srand的方法?

我需要一种“好"的方法来初始化 C++ 中的伪随机数生成器.我发现一篇文章指出: 为了生成random-like数字,srand 通常被初始化一些独特的价值,比如那些与执行时间有关.为了例如,返回的值功能时间(在标题中声明ctime) 每秒都不同,其中对大多数人来说足够独特随机需求. Unixtime 对我的应用程序来说不够独特.什么是更好的初始化方法?如果它是可移植的,则加分,但代码 ..
发布时间:2021-12-01 15:39:52 C/C++开发

用于随机生成器的 64 位种子

我目前正在运行具有 8 个以上管道(线程)的多线程模拟应用程序.这些管道运行非常复杂的代码,该代码依赖于由种子生成的随机序列.然后将序列归结为单个 0/1. 在将种子从主线程传递到处理管道后,我希望这种“随机处理"具有 100% 确定性.因此,我可以在第二次运行中复制结果. 所以,例如:(我有这个编码并且它有效) 管道 1 ->种子:123 ->结果:0管道 2 ->种子:123 - ..
发布时间:2021-11-25 07:13:27 C/C++开发

srand(time(0)) 不生成随机数?

这是代码,但输出不是随机出现的?也许是因为程序运行时它与所有循环的时间相同? #include 使用命名空间标准;#include #include #include #include int main(){长整数 x = 0;布尔重复=真;srand(时间(0));int r1 = 2 + rand() % (11 - 2);//范围为2-10int r3 = ra ..
发布时间:2021-07-02 20:04:38 C/C++开发

C++ Simple Dice roll - 如何返回多个不同的随机数

我对 C++ 很陌生,正在尝试使用 Die class/main 制作一个简单的骰子. 我可以在 1-dieSize 范围内获得一个随机数,但是,每次我“掷骰子"时,它只会给我相同的随机数.例如,当我掷骰子三次时,它会掷出 111 或 222 等,而不是 3 个不同的随机掷骰子.任何解释此问题的帮助将不胜感激! 我的模头只是一个基本的头.我假设的问题是随机函数. 主要: int ..
发布时间:2021-07-02 20:04:18 C/C++开发

C 中的随机数和不同数

我正在尝试用 C 生成 7 个数字.代码应包含: 不能以 0 开头. 数字必须在 0-9 之间 数字必须彼此不同.(例如:不能有两个 5,比如这个:7 5 8 3 2 5 4). 我的代码正在运行.不是从 0 开始的.数字是在 0-9 之间随机生成的. 但我无法包含第三件事.当我启动代码时,相同的数字即将到来.你知道我怎样才能产生不同的结果吗? #include #incl ..
发布时间:2021-07-02 20:03:08 其他开发

无需 time.h 生成随机值

我想在不使用 time.h 库的情况下重复生成随机数.我看到另一篇关于使用 的帖子 srand(getpid()); 然而,这似乎对我不起作用 getpid 尚未声明.这是因为我缺少图书馆吗?如果需要,我需要弄清楚如何在不使用任何其他库的情况下随机生成数字,而不使用我目前拥有的库. #include #include int main(void) {int 分钟、小时、日、月、年;sran ..
发布时间:2021-07-02 20:03:05 其他开发

rand() 每次都给出几乎相同的数字

我正在学习 C,我想生成一个 0 到 6400 之间的数字.这是我想出的代码: #include #include #include int main(){srand(时间(0));int i = (rand() % 6401);printf("0 到 6400 之间的随机数:%d\n", i);返回0;} 当我从命令行编译并运行这段代码时,我得到了一些非常奇怪的结果: K:\C\Labo\ ..
发布时间:2021-07-02 19:59:09 其他开发

使用梅森扭曲器的 1D 噪声在不同设备上给出不同的结果

我正在使用 Mersenne Twister 生成具有 1D perlin 噪声的 2D 地形以获取随机数.我的第一个想法是使用 Mersenne Twister 将在任何给定硬件上使用相同的种子始终为我提供相同的结果.但是当我比较不同设备上的值/地形时,它会给我不同的结果.(它适用于 IOS、OSX 和 MAC,但不适用于 WP8). 代码: class 1DNoiseTest{type ..
发布时间:2021-07-02 19:56:58 C/C++开发

rand() 和 srand() 给出了奇怪的相似结果.rand() 的返回非常相似

这是一个看似常见的问题,所以我希望我不会听起来多余.但是 rand() 返回的范围应该在 0 到 RAND_MAX 之间,但是,当我执行一个非常简单的 rand 语句时,我总是得到一个很小范围内的返回值. 这个范围类似于 1,4XX,XXX,XXX.我想这可能是时钟问题,所以我等了三十分钟,但我仍然得到相同范围内的数字. 这是 20 分钟前的一些示例输出: Matthews-Macb ..
发布时间:2021-07-02 19:53:06 C/C++开发

为什么我的 srand(time(NULL)) 函数每次在 c 中生成相同的数字?

所以我创建了一个程序,它会调用一个函数并返回 0 或 1(0 表示尾部,1 表示正面),然后用它来打印 100 次翻转的结果. 认为我可以使用 srand(time(NULL)) 为 rand() 播种不断变化的种子,这似乎很简单.这是我的第一次破解. #include #include int翻转();int main(void) {整数头 = 0;int 尾巴 = 0;for (sho ..
发布时间:2021-07-02 19:46:35 其他开发