2016-02-27 6 views
0

Я хотел бы знать, получу ли я одинаковые случайные числа на всех компьютерах, используя одно и то же семя srand().Функция rand() с тем же самым семенем дает одинаковые случайные числа на разных ПК?

Если нет, то как я могу это достичь.

+0

Нет, это не гарантировано. Различные реализации стандартной библиотеки могут использовать разные алгоритмы генерации псевдослучайных чисел. Если это необходимо, вы можете предоставить свой собственный объект PRNG. –

+0

Другой возможный дубликат кандидата: http://stackoverflow.com/questions/15109427/why-does-the-c-stdlib-rand-function-give-different-values-for-the-same-seed –

ответ

1

rand Реализация не является стандартизированной, и разные компиляторы могут и будут использовать разные алгоритмы.

Вы можете использовать генераторы из заголовка C++ 11 <random>, которые являются стандартными и полностью детерминированными: mt19937 с таким же семенем должны иметь такую ​​же последовательность на всех платформах, например.