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

avatar Kagon

1068

25

Kagon

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

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

Сообщения: 12770

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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

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

Я пытался делать привязку ко времени с 1970 года, но генератор должен работать быстро - с такой привязкой ко времени значения меняются лишь 1 раз в секунду.
Пытался делать привязку ко времени работы программы - благо, она выдает время в 1/1000 секунды. Но обновляется значение все равно недостаточно часто - примерно раз в 0.0035.
Какие есть варианты для генератора? Суть в том, что он должен выдавать значения определенного диапазона, чего я добился - но генератор подряд выдает одни и те же значения, хоть и разные, но при запуске они будут идентичны

КНШ-5

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

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

Сообщения: 6408

Рейтинг: 3045

КНШ-5

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

Сообщения: 6408

Рейтинг: 3045

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


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

Kagon

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

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

Сообщения: 12770

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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


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


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


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

КНШ-5

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

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

Сообщения: 6408

Рейтинг: 3045

КНШ-5

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

Сообщения: 6408

Рейтинг: 3045

Kagon сказал(а):


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


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


имеет

Allah Akbarovich

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

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

Сообщения: 760

Рейтинг: 406

Allah Akbarovich

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

Сообщения: 760

Рейтинг: 406

rand()


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

Удалено 624055

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

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

Сообщения: 37

Рейтинг: 15

Удалено 624055

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

Сообщения: 37

Рейтинг: 15

img

Random (a, b);

Kagon

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

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

Сообщения: 12770

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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

Сообщения: 470

Рейтинг: 62

Johnny Doe

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

Сообщения: 470

Рейтинг: 62

img

Kagon сказал(а):


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

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

Я пытался делать привязку ко времени с 1970 года, но генератор должен работать быстро - с такой привязкой ко времени значения меняются лишь 1 раз в секунду.
Пытался делать привязку ко времени работы программы - благо, она выдает время в 1/1000 секунды. Но обновляется значение все равно недостаточно часто - примерно раз в 0.0035.
Какие есть варианты для генератора? Суть в том, что он должен выдавать значения определенного диапазона, чего я добился - но генератор подряд выдает одни и те же значения, хоть и разные, но при запуске они будут идентичныroflanPominki.png


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


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

Kagon

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

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

Сообщения: 12770

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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

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

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

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


Allah Akbarovich

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

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

Сообщения: 760

Рейтинг: 406

Allah Akbarovich

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

Сообщения: 760

Рейтинг: 406

Kagon

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

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

Сообщения: 12770

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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


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

Karacik

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

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

Сообщения: 2781

Рейтинг: 2630

Karacik

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

Сообщения: 2781

Рейтинг: 2630

Kagon сказал(а):


Ломаю голову уже день 3HAhaa.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

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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

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

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

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

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

Gissh

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

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

Сообщения: 5502

Рейтинг: 8996

Gissh

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

Сообщения: 5502

Рейтинг: 8996

img

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

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

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

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

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

WhiteDoter

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

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

Сообщения: 543

Рейтинг: 182

WhiteDoter

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

Сообщения: 543

Рейтинг: 182

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


srand(time(NULL));


rand();


Не благодари

Kagon

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

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

Сообщения: 12770

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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

бухой_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

Рейтинг: 7253

Kagon

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

Сообщения: 12770

Рейтинг: 7253

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


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


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


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


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


ист.


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


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