Нахождение псевдослучайного числа
От: areh  
Дата: 27.06.04 22:49
Оценка:
Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...

надеюсь на вашу помощь...
Re: Нахождение псевдослучайного числа
От: Neo09 Россия  
Дата: 28.06.04 02:18
Оценка:
Здравствуйте, areh, Вы писали:

A>Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...


A>надеюсь на вашу помощь...


Подробно эта тема рассмотрена, насколько я помню, во втором томе Кнута.

Ну, а практические реализации генерации случайных чисел можно найти здесь.
Re: Нахождение псевдослучайного числа
От: Crush Россия http://www.ael.ru/_crush/
Дата: 30.06.04 02:34
Оценка:
Здравствуйте, areh, Вы писали:

A>Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...


попробуй такой код:

a = rand() % n;


n — это диапазон в котором желаешь получить псевдослучайное число, от 0 до n-1.
Я проверял, получались довольно равномерные результаты. Причем, если тебе нужно получить число в диапазоне степени двойки, то операцию остатка от деления можно заменить на логическое &.
Тогда это будет выглядеть так:

a = rand() & (pow(2, n)-1);


В качестве фукции rand() нужно иметь функцию, генерирующую большое случайное число, хотябы десяток порядков
Не ошибается то, что не работает. (с) Windows
Re[2]: Нахождение псевдослучайного числа
От: areh  
Дата: 30.06.04 20:46
Оценка:
Здравствуйте, Crush, Вы писали:

C>Здравствуйте, areh, Вы писали:


A>>Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...


C>попробуй такой код:


C>
C>a = rand() % n;
C>


C>n — это диапазон в котором желаешь получить псевдослучайное число, от 0 до n-1.

C>Я проверял, получались довольно равномерные результаты. Причем, если тебе нужно получить число в диапазоне степени двойки, то операцию остатка от деления можно заменить на логическое &.
C>Тогда это будет выглядеть так:

C>
C>a = rand() & (pow(2, n)-1);
C>


C>В качестве фукции rand() нужно иметь функцию, генерирующую большое случайное число, хотябы десяток порядков


к большому сожалению, Rnd (or Rand) используют случайные числа, выробатываемые разными компами, мне надо, чтобы на двух разных компах, от одинаковых параметров выробатывались одни и те же числа...
Re[3]: Нахождение псевдослучайного числа
От: glyph  
Дата: 01.07.04 06:56
Оценка:
Здравствуйте, areh, Вы писали:

A>Здравствуйте, Crush, Вы писали:


C>>Здравствуйте, areh, Вы писали:


A>>>Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...


C>>В качестве фукции rand() нужно иметь функцию, генерирующую большое случайное число, хотябы десяток порядков


A>к большому сожалению, Rnd (or Rand) используют случайные числа, выробатываемые разными компами, мне надо, чтобы на двух разных компах, от одинаковых параметров выробатывались одни и те же числа...


Тогда тебе нужна функция, а не генератор.
d Apocaliptica — Path d
Re: Нахождение псевдослучайного числа
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.07.04 14:56
Оценка:
Здравствуйте, areh, Вы писали:

A>Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...


MD5
... << RSDN@Home 1.1.4 beta 1 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Нахождение псевдослучайного числа
От: NoFate Россия  
Дата: 05.07.04 17:57
Оценка:
Здравствуйте, areh, Вы писали:

A>Уважаемые, подскажите пожалуйста алгоритм (или где его стоит искать) для генерации некоторого "случайного" числа, от заданных параметров, желательно, чтобы значения функции были распределены достаточно равномерно...


Попробуй так:
static unsigned long int next = 1; //начальное значение
int crazyRand(void)
{
    next = next * 1103515245 + 12345;
    return (unsigned int) (next / 65536) % 32768;
}
... << Rsdn@Home 1.1.4 beta 1>>
Re: Нахождение псевдослучайного числа
От: C300G Россия http://forum.sources.ru
Дата: 05.07.04 23:40
Оценка:
Nikitine Valeri F. "Генерация псевдослучайных последовательностей".
Генерация псевдослучайных чисел.
Be vigilant!
Re[3]: Нахождение псевдослучайного числа
От: Аноним  
Дата: 06.07.04 06:46
Оценка: -1
A>к большому сожалению, Rnd (or Rand) используют случайные числа, выробатываемые разными компами, мне надо, чтобы на двух разных компах, от одинаковых параметров выробатывались одни и те же числа...
Ничего не понял... Ставь seed на обоих машинах одинаковым и получишь одинаковую последовательность.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.