Я хотел бы знать, получу ли я одинаковые случайные числа на всех компьютерах, используя одно и то же семя srand().Функция rand() с тем же самым семенем дает одинаковые случайные числа на разных ПК?
Если нет, то как я могу это достичь.
Я хотел бы знать, получу ли я одинаковые случайные числа на всех компьютерах, используя одно и то же семя srand().Функция rand() с тем же самым семенем дает одинаковые случайные числа на разных ПК?
Если нет, то как я могу это достичь.
№ rand
Реализация не является стандартизированной, и разные компиляторы могут и будут использовать разные алгоритмы.
Вы можете использовать генераторы из заголовка C++ 11 <random>
, которые являются стандартными и полностью детерминированными: mt19937
с таким же семенем должны иметь такую же последовательность на всех платформах, например.
Нет, это не гарантировано. Различные реализации стандартной библиотеки могут использовать разные алгоритмы генерации псевдослучайных чисел. Если это необходимо, вы можете предоставить свой собственный объект PRNG. –
Другой возможный дубликат кандидата: http://stackoverflow.com/questions/15109427/why-does-the-c-stdlib-rand-function-give-different-values-for-the-same-seed –