#include <stdlib.h> int rand(void); void srand(unsigned int seed);
Функция srand() устанавливает свой аргумент как основу (seed) для новой последовательности псевдослучайных целых чисел, возвращаемых функцией rand(). Эту последовательность можно воспроизвести. Для этого необходимо вызвать srand() с соответствующей величиной seed.
Если seed не установлено, то функция rand() автоматически устанавливает его равным 1.
В книге Numerical Recipes in C: The Art of Scientific Computing (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New York: Cambridge University Press, 1992 (2nd ed., p. 277)) даны следующие комментарии:
j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
j=1+(rand() % 10);
Генерация случайных чисел - это трудная тема. В книге Numerical Recipes in C (см. ссылку выше) есть прекрасная статья о практической генерации случайных чисел, глава номер 7 (Random Numbers).
Если Вам необходимы основательные теоретические рассуждения на эту тему, которые, кстати, являются в большой степени практическими, загляните в главу #3 (Random Numbers) классического труда Donald E. Knuth The Art of Computer Programming, том #2 (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts: Addison-Wesley Publishing Company, 1981.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |