Автор Їебупенька задал вопрос в разделе Другие языки и технологии
Написал малую программу на паскале. Как сделать, чтоб случайные цифры не повторялись? код в пояснении и получил лучший ответ
Ответ от Јин[гуру]
на самом деле генератор случайных чисел выдает не случайные, а псевдослучайные числа. Т. е. обычно при каждом запуске выдаются одна и та же последовательность чисел. Что бы этого не происходило, генератор сначала инициализируется каким-то числом, после этого последовательность будет идти с этого числа. Естественно, если инициализация производится одним и тем же числом, мы опять же будем иметь одни и те же последовательности, поэтому в качестве инициализирующего числа часто используют время (например минуты+секунды) , что дает разные последовательности при каждой инициализации (кроме случаев когда эта сумма снова повторится) . Насколько помню инициализация ГСЧ в паскале производится оператором randomize, без указания параметра она инициализируется именно значением текущего времени. А так как цикл выполняется достаточно быстро, мы и получаем инициализацию одним и тем же значением
И вообще, все встроенные функции реализации ГСЧ достаточно простые и выдают не слишко равномерное распределение, все толковые программисты ими не пользуются и пишут свои
Вытащи randomize из цикла. Один раз проинициализировал - и хватит.
честно! сам задавался этим вопросом, (почему генератор случайных чисел выдает одни и теже числа?)
> Написал малую программу
> Как сделать, чтоб случайные цифры не повторялись?
Надо написать программу побольше.
> дайте конкретный ответ
icq 16952 714 3