Scratch

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Scratch

Re: Scratch

Сионист » 12 дек 2015, 16:50

Ну это как раз те же псевдослучайные с переменным стартом, причём, от не квантового аппаратного генератора случайных чисел. Сам же интелл признаёт, что именно их аппаратный генератор случайных кривой и на большее, чем старт другого генератора, не годится. Но в связке получается один из хороших вариантов. Возможно даже лучше, чем старт rand от времени запуска программы. По крайней мере ителл обещает меньшую предсказуемость.

Re: Scratch

somewhere » 11 дек 2015, 15:52

Идеальный вариант - аппаратный генератор истинно случайных чисел. Но это на обычной офисной/домашней машине это не достижимо.
Ну, истинно случайные никому не нужны. А аппаратный генератор уже создан by Intel. Инструкции RDRAND, RDSEED новых процессоров Intel

Re: Scratch

Сионист » 09 дек 2015, 13:23

А ну тогда начальное состояние на основе любой величины, которая будет меняться от запуска к запуску. Хоть на основе текущего системного времени. Можно ещё посолить это время. Но ни как не

Код: Выделить всё

srand(rand);
, так как в этом случае параметр srad тоже повторится. Идеальный вариант - аппаратный генератор истинно случайных чисел. Но это на обычной офисной/домашней машине это не достижимо.

Re: Scratch

Din666 » 09 дек 2015, 10:06

Сионист: честно говоря вопрос Кубик мишики не привязан к ситуации, поэтому я предположил, что он несколько раз запускает свою программу и результаты каждого запуска повторяются.

Re: Scratch

Сионист » 09 дек 2015, 07:43

А при чём здесь начальное состояние?

Код: Выделить всё

srand(0);
std::cout<<rand()<<std::endl;
std::cout<<rand()<<std::endl;
Начальное состояние детерменировано, но числа совпадать не могут.

Re: Scratch

Din666 » 08 дек 2015, 10:21

При использовании генераторов случайных чисел обычно задается также случайно его начальное состояние, что практически предотвращает повторение чисел при генерации. В том числе советую попробовать различные генераторы.

Re: Scratch

Сионист » 05 дек 2015, 16:10

А как Вы заставили его повторяться? Так:

Код: Выделить всё

int x=rand();
std::cout<<x<<std::endl;
std::cout<<x<<std::endl;
что ли?

Scratch

Кубик мишика » 05 дек 2015, 12:57

Как сделать чтобы при выдачи случайного числа оно не повторялось

Вернуться к началу