Генератор случайных чисел

avatar Kagon

1068

25

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Ломаю голову уже день 3 

Пытался написать генератор через конгруэнтный метод, на основе полиномиального счетчика, короче на основе книги Кнута.

Но числа выходят одинаковые.

Я пытался делать привязку ко времени с 1970 года, но генератор должен работать быстро - с такой привязкой ко времени значения меняются лишь 1 раз в секунду.

Пытался делать привязку ко времени работы программы - благо, она выдает время в 1/1000 секунды. Но обновляется значение все равно недостаточно часто - примерно раз в 0.0035.

Какие есть варианты для генератора? Суть в том, что он должен выдавать значения определенного диапазона, чего я добился - но генератор подряд выдает одни и те же значения, хоть и разные, но при запуске они будут идентичны 

КНШ-5

Пользователь

Регистрация: 15.06.2015

Сообщения: 6409

Рейтинг: 3045

КНШ-5

Регистрация: 15.06.2015

Сообщения: 6409

Рейтинг: 3045

нет среды программирования ===> очередной дцпшный вброс

модер можешь удалять этот шлак изи активность

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

КНШ-5 сказал(а):

нет среды программирования ===> очередной дцпшный вброс

Нажмите, чтобы раскрыть...

Это не имеет значения. Мы говорим об алгоритме. Можешь его даже на asm написать

КНШ-5

Пользователь

Регистрация: 15.06.2015

Сообщения: 6409

Рейтинг: 3045

КНШ-5

Регистрация: 15.06.2015

Сообщения: 6409

Рейтинг: 3045

Kagon сказал(а):

Это не имеет значения. Мы говорим об алгоритме. Можешь его даже на asm написать

Нажмите, чтобы раскрыть...

имеет

Allah Akbarovich

Пользователь

Регистрация: 12.04.2016

Сообщения: 760

Рейтинг: 406

Allah Akbarovich

Регистрация: 12.04.2016

Сообщения: 760

Рейтинг: 406

rand()

не благодариCoolStoryBob.png

Удалено 624055

Пользователь

Регистрация: 24.03.2016

Сообщения: 26

Рейтинг: 13

Удалено 624055

Регистрация: 24.03.2016

Сообщения: 26

Рейтинг: 13

img

Random (a, b);

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Allah Akbarovich сказал(а):

rand()

не благодариCoolStoryBob.png

Нажмите, чтобы раскрыть...

Я уже сказал, что он выдает одинаковые числа при запуске программы, меняя их в процессе. При запуске они одни и те же. Я спросил про алгоритм 

killIO

Пользователь

Регистрация: 03.07.2015

Сообщения: 609

Рейтинг: 428

killIO

Регистрация: 03.07.2015

Сообщения: 609

Рейтинг: 428

img

Kagon сказал(а):

Я уже сказал, что он выдает одинаковые числа при запуске программы, меняя их в процессе. При запуске они одни и те же. Я спросил про алгоритм HAhaa.png

Нажмите, чтобы раскрыть...

msdn в помощь

Там это разжевано 

Johnny Doe

Пользователь

Регистрация: 23.01.2017

Сообщения: 471

Рейтинг: 63

Johnny Doe

Регистрация: 23.01.2017

Сообщения: 471

Рейтинг: 63

img

Kagon сказал(а):

Ломаю голову уже день 3 HAhaa.png

Пытался написать генератор через конгруэнтный метод, на основе полиномиального счетчика, короче на основе книги Кнута.

Но числа выходят одинаковые.

Я пытался делать привязку ко времени с 1970 года, но генератор должен работать быстро - с такой привязкой ко времени значения меняются лишь 1 раз в секунду.

Пытался делать привязку ко времени работы программы - благо, она выдает время в 1/1000 секунды. Но обновляется значение все равно недостаточно часто - примерно раз в 0.0035.

Какие есть варианты для генератора? Суть в том, что он должен выдавать значения определенного диапазона, чего я добился - но генератор подряд выдает одни и те же значения, хоть и разные, но при запуске они будут идентичны roflanPominki.png

Нажмите, чтобы раскрыть...

Качественные вбросы. Такое ощущение, что поиск Google отключили тебе. В интернете -- предостаточно информации.

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Johnny Doe сказал(а):

Качественные вбросы. Такое ощущение, что поиск Google отключили тебе. В интернете -- предостаточно информации.

Нажмите, чтобы раскрыть...

Если бы у всех был включен гугл, то на этом форуме не было бы тем 

 

Allah Akbarovich

Пользователь

Регистрация: 12.04.2016

Сообщения: 760

Рейтинг: 406

Allah Akbarovich

Регистрация: 12.04.2016

Сообщения: 760

Рейтинг: 406

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Allah Akbarovich сказал(а):
Нажмите, чтобы раскрыть...

Настоящий рандом вроде только в квантовом компе можно сделать 

Karacik

Пользователь

Регистрация: 07.08.2014

Сообщения: 2781

Рейтинг: 2632

Karacik

Регистрация: 07.08.2014

Сообщения: 2781

Рейтинг: 2632

Kagon сказал(а):

Ломаю голову уже день 3 HAhaa.png

Пытался написать генератор через конгруэнтный метод, на основе полиномиального счетчика, короче на основе книги Кнута.

Но числа выходят одинаковые.

Я пытался делать привязку ко времени с 1970 года, но генератор должен работать быстро - с такой привязкой ко времени значения меняются лишь 1 раз в секунду.

Пытался делать привязку ко времени работы программы - благо, она выдает время в 1/1000 секунды. Но обновляется значение все равно недостаточно часто - примерно раз в 0.0035.

Какие есть варианты для генератора? Суть в том, что он должен выдавать значения определенного диапазона, чего я добился - но генератор подряд выдает одни и те же значения, хоть и разные, но при запуске они будут идентичны roflanPominki.png

Нажмите, чтобы раскрыть...

Ну в паскале рандомайз пишешь и выводишь, тащемта секретов тут нет, ну тупыыыые

Allah Akbarovich

Пользователь

Регистрация: 12.04.2016

Сообщения: 760

Рейтинг: 406

Allah Akbarovich

Регистрация: 12.04.2016

Сообщения: 760

Рейтинг: 406

Kagon сказал(а):

Настоящий рандом вроде только в квантовом компе можно сделать HAhaa.png

Нажмите, чтобы раскрыть...

ну да, только зачем тебе настоящий рандом? ты программист пентагона? по мне так движение молекул в атмосфере достаточно для выведения случайного числа

Master M

Пользователь

Регистрация: 03.02.2016

Сообщения: 1865

Рейтинг: 2340

Master M

Регистрация: 03.02.2016

Сообщения: 1865

Рейтинг: 2340

Kagon сказал(а):

Я уже сказал, что он выдает одинаковые числа при запуске программы, меняя их в процессе. При запуске они одни и те же. Я спросил про алгоритм HAhaa.png

Нажмите, чтобы раскрыть...

я вроде уже забыл, но вроде есть srand(time(NULL)), как то так

Red_-_Sunrise

Пользователь

Регистрация: 16.03.2017

Сообщения: 970

Рейтинг: 258

Red_-_Sunrise

Регистрация: 16.03.2017

Сообщения: 970

Рейтинг: 258

Randomize же, нет?

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Master M сказал(а):

я вроде уже забыл, но вроде есть srand(time(NULL)), как то так

CoolStoryBob.pngCoolStoryBob.pngCoolStoryBob.png

Нажмите, чтобы раскрыть...

Так он выдает числа в секундах от 1970 года, т.е значения будут меняться лишь раз в секунду 

Хотя если прикрутить исключающее или + время выполнения в миллисекундах с начала выполнения программы...

Не, ну а че бы и нет 

 

Master M

Пользователь

Регистрация: 03.02.2016

Сообщения: 1865

Рейтинг: 2340

Master M

Регистрация: 03.02.2016

Сообщения: 1865

Рейтинг: 2340

Kagon сказал(а):

Так он выдает числа в секундах от 1970 года, т.е значения будут меняться лишь раз в секунду CoolStoryBob.png

Хотя если прикрутить исключающее или + время выполнения в миллисекундах с начала выполнения программы...

Не, ну а че бы и нет CoolStoryBob.png

 

Нажмите, чтобы раскрыть...

что за фигню ты несешь????Ты можешь такое втирать бабкам на улице

Или говори конкретную задачу или вброс

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Master M сказал(а):

что за фигню ты несешь????Ты можешь такое втирать бабкам на улицеroflanLico.png

Или говори конкретную задачу или вбросHAhaa.png

Нажмите, чтобы раскрыть...

Причем тут вброс? Просто выдавать случайные числа 

И мне этот челик принес мысль сделать через srand(time(0) ^ clock()) 

Gissh

Пользователь

Регистрация: 21.03.2015

Сообщения: 5517

Рейтинг: 9000

Gissh

Регистрация: 21.03.2015

Сообщения: 5517

Рейтинг: 9000

img

Master M сказал(а):

что за фигню ты несешь????Ты можешь такое втирать бабкам на улицеroflanLico.png

Или говори конкретную задачу или вбросHAhaa.png

Нажмите, чтобы раскрыть...

Голосую за вброс!

WhiteDoter

Пользователь

Регистрация: 23.06.2013

Сообщения: 538

Рейтинг: 182

WhiteDoter

Регистрация: 23.06.2013

Сообщения: 538

Рейтинг: 182

#include ctime в скобочках

srand(time(NULL));

rand();

Не благодари

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Короче тему клоз, я догнал как сделать четко 

бухой_OD_спустил_лавэ

Пользователь

Регистрация: 05.03.2016

Сообщения: 5522

Рейтинг: 3099

Нарушения: 285

бухой_OD_спустил_лавэ

Регистрация: 05.03.2016

Сообщения: 5522

Рейтинг: 3099

Нарушения: 285

import random

print(random.randint(xxx, xxx))

ZIP!ZAP!

Пользователь

Регистрация: 10.01.2016

Сообщения: 965

Рейтинг: 662

ZIP!ZAP!

Регистрация: 10.01.2016

Сообщения: 965

Рейтинг: 662

загуглил за минуту нашел интересную статейку, вот выдержка

let [rvalue] = crypto.getRandomValues(new Uint8Array(1)); console.log( rvalue )

криптографический метод

...данный генератор использует системные вызовы в ОС, чтобы получить доступ к источникам энтропии (мак адрес, цпу, температуре, etc…).

ист.

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

ZIP!ZAP! сказал(а):

загуглил за минуту нашел интересную статейку, вот выдержка

let [rvalue] = crypto.getRandomValues(new Uint8Array(1)); console.log( rvalue )

криптографический метод

...данный генератор использует системные вызовы в ОС, чтобы получить доступ к источникам энтропии (мак адрес, цпу, температуре, etc…).

ист.

Нажмите, чтобы раскрыть...

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

Спасибо