如何在C 中设置RNG的种子
how to set seed of RNG in c++?
谁能告诉我如何在C 中生成相同的随机数?
我知道我可以做以下操作:
rng(1)
a= randi(10,1,10)
答案是相同的。例如
5 8 1 4 2 1 2 4 4 6
5 8 1 4 2 1 2 4 4 6
5 8 1 4 2 1 2 4 4 6
除非种子重置,否则它将一直给我相同的值。
,但我不知道如何在C 中执行此操作。
具有相同种子的两个不同初始化将产生 随后致电Rand的结果相同的结果。
如果将种子设置为1,则将发电机重新启动至其初始 价值并产生与兰德的任何电话相同的值或 srand。
#include <stdlib.h> /* srand, rand */
#include <time.h>
int random = rand();
int next = rand();
int next2 = rand();
//another sequence
srand (time(NULL));
int 2random = rand();
int 2next = rand();
int 2next2 = rand();
//will repeat the first sequence
srand (1);
int 3random = rand();
int 3next = rand();
int 3next2 = rand();
您是否正在寻找函数 srand 播种随机数生成器的种子?它经常用于当前时间播种,但是如果需要的话,您可以将其用作固定值的种子。
创建一个std::random_device
的实例,该实例可能提供可能的非确定性统一随机数,并将其用于播种您选择的随机数引擎:
std::random_device rd;
std::default_random_engine gen(rd());
如果您想知道如何播种C库函数rand
,则需要使用std::srand
。它通常用当前时间播种, std::time(0)
。
当然,没有理由您不能使用std::random_device
进行rand
。
相关文章:
- 如何使用要传递给 mt19937 的可选随机种子参数设计函数
- 从给定种子生成相同的随机数序列C++
- 如何使用可选的随机种子参数创建 roll_die() 函数
- 是否可以为boost::random::uniform_int_distribution<>设置确定性种子?
- 使用给定种子生成的随机数序列是否保证在标准版本中相同?
- 在编译时生成某种子类/类型注册表?
- libtorrent是否支持带摘要身份验证的http web种子
- 我应该使用std::seed_seq来种子std::mt19937吗
- C++RNG(随机数生成)优化
- 除了 rand() 之外,是否有任何随机生成器库,开发人员可以手动设置种子?
- 随机数生成器的种子和状态有什么区别?
- 如果我在每个平台上使用相同的种子,随机结果会相同吗?
- C++多个实例的随机数生成器组种子中增强
- C++11 中的随机数:有没有一种简单的方法可以将生成器种子放在代码的一个位置,然后在不同的函数中使用它?
- PRNG种子到底是什么,它在c ++中是如何工作的?
- 如何在C 中设置RNG的种子
- 如何正确选择rng种子进行并行处理
- 这thread_local RNG种子有什么作用
- 使用cpp从r设置c++ rng种子
- 如何确保在后续进程启动时RNG的种子是唯一的