LORD-BY
Гость
|
|
« : 11 Ноябрь 2007, 14:47:41 » |
|
Нужна сама формула функции РАНДОМ. Знаю что она работает в зависимости от времени. Где можно ее узнать???
|
|
|
Записан
|
|
|
|
NiN
|
в смысле узнать? В чём пишешь ?
|
|
|
Записан
|
|
|
|
LORD-BY
Гость
|
Мне не нужно описание функции, нужна формула по которой высчитывается случайное число. язык С++
|
|
|
Записан
|
|
|
|
Зміцер
|
хз, зачем - можно свою написать считываешь время, слаживаешь-уножаешь в каких угодно комбинациях, потом результат делишь по модулю (получаешь остаток от деления) на разницу верхней и нижней границы желаемого интервала, прибавляешь нижнюю границу в случ чего стучи в асю
|
|
|
Записан
|
|
|
|
|
meermitka
|
Может нужно реализовать с помощью датчиков случайных чисел?
|
|
« Последнее редактирование: 12 Ноябрь 2007, 01:04:32 от margaritka »
|
Записан
|
|
|
|
medic
кампуцерны дохтар
Кандидат в депутаты
Репутация: +127/-2
Offline
Пол:
Сообщений: 3422
За Беларусь!
|
можешь попробовать читать координаты мыши, с интервалом и просьбой пользователя двигать ее по случайной траэктории
|
|
|
Записан
|
Уронили Siemens на пол сименс цел, пол поцарапан
|
|
|
LORD-BY
Гость
|
хз, зачем - можно свою написать считываешь время, слаживаешь-уножаешь в каких угодно комбинациях, потом результат делишь по модулю (получаешь остаток от деления) на разницу верхней и нижней границы желаемого интервала, прибавляешь нижнюю границу в случ чего стучи в асю Вот почти это и нужно было!!! Только нужна стандартная, встроенная в С формула.
|
|
|
Записан
|
|
|
|
|
Dj_NudnyJ
|
Вот почти это и нужно было!!! Только нужна стандартная, встроенная в С формула. стандартной встроенной формулы в C не существует, есть стандартная библиотека stdlib, реализация которой может различатся от компилятора к компилятору. вот то что используется в VC8 /*** *int rand() - returns a random number * *Purpose: * returns a pseudo-random number 0 through 32767. * *Entry: * None. * *Exit: * Returns a pseudo-random number 0 through 32767. * *Exceptions: * *******************************************************************************/
int __cdecl rand ( void ) {
_ptiddata ptd = _getptd();
return( ((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff );
}
|
|
|
Записан
|
|
|
|
Гонзих
|
не ето не то что он искал, нужна мат формула. Там короч НИХ*ЙСТВЕННЫЙ корень из времени. Я както натыкался на неё, но ввиду того что она на а4 лист еле влазит, не запомнил...
|
|
|
Записан
|
|
|
|
Dj_NudnyJ
|
все рандомы что я видел, работали по рекурсивной формуле
random_number = F(random_number)
ни разу не слышал про использовании времени для получения random числа (разве что в качестве начального значения).
а в математическом виде эта формула очень просто записывается
S = (S * 214013 + 2531011) R = (S div 65536) mod 32768
тут a div b - целочисленное деление a на b a mod b - остаток от деления a на b
|
|
« Последнее редактирование: 26 Ноябрь 2007, 00:34:15 от Dj_NudnyJ »
|
Записан
|
|
|
|
Гонзих
|
любой рандом основываеться на времени, идеального рандома нету, ну если только брать в расчет движение мельчайших частиц.
|
|
|
Записан
|
|
|
|
maxposedon
|
любой рандом основываеться на времени, идеального рандома нету, ну если только брать в расчет движение мельчайших частиц. не любой /dev/random в linux, совсем не на времени
|
|
|
Записан
|
|
|
|
|