В небольшом приложении, написанном на C / C ++, я столкнулся с проблемой с rand
функцией и, возможно, с семенем:
Я хочу создать последовательность случайных чисел, которые имеют разные порядки, то есть с различными значениями логарифма (основание 2). Но кажется, что все произведенные числа имеют один и тот же порядок, колеблющийся между 2 ^ 25 и 2 ^ 30.
Это потому, что rand()
засеян со временем Unix, которое сейчас является относительно большим числом? Что я забыл? Я сею rand()
только один раз в начале main()
.
rand()
возвращения равномерно распределенных чисел (об этом явно говорится в документации с высоким рейтингом Google), я не думаю, что этот вопрос будет полезен для будущих читателей. Вот почему проголосуйте, но не позволяйте этому отговорить вас от использования SO.