Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рандом, Случайные числа 
:(
    Опции темы
FelikZ
Дата 12.3.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Привет! Возможно ли предсказать какое значение вернет генератор случ. чисел? Если да то что для этого нужно знать.
Спасибо!


--------------------
user posted image
PM WWW ICQ Skype   Вверх
Akina
Дата 12.3.2008, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
FelikZ
Дата 13.3.2008, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(Akina @  12.3.2008,  23:20 Найти цитируемый пост)
инициализирующее значение и номер текущего псевдослучайного.

Эм smile Можно пожалуйста объяснить что-это для чайника :?)


--------------------
user posted image
PM WWW ICQ Skype   Вверх
marykone
Дата 13.3.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2722
Регистрация: 2.5.2006
Где: Краснодар

Репутация: нет
Всего: 67



random если не ошибаюсь работает по принципу 

берется время к нему прибавляется число

а вообще залезьте посмотрите описание ее   


--------------------
получил ответ, пометь вопрос как решенный (правый верхний угол вашей темы).

PM   Вверх
Akina
Дата 13.3.2008, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(marykone @  13.3.2008,  11:00 Найти цитируемый пост)
random если не ошибаюсь работает по принципу 

Ошибаетесь 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
xvr
Дата 13.3.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(FelikZ @ 12.3.2008,  22:00)
Привет! Возможно ли предсказать какое значение вернет генератор случ. чисел? Если да то что для этого нужно знать.
Спасибо!

Ответ зависит от того какой именно генератор и какая его внутренняя информация доступна.

PM MAIL   Вверх
FelikZ
Дата 14.3.2008, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(xvr @  13.3.2008,  11:37 Найти цитируемый пост)
Ответ зависит от того какой именно генератор и какая его внутренняя информация доступна.

Генератор на пхп. Числа генерятся раз в 10мин... Числа от 1 до 36, замечено что часто падают числа по принципу x y x/2 (например: 20 7 10 .... 34 1 17), вот я и подумал может все таки как то можно програмно это дело угадывать smile Вроде все, что извесно smile


--------------------
user posted image
PM WWW ICQ Skype   Вверх
Denjs
Дата 14.3.2008, 02:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Цитата

Возможно ли предсказать какое значение вернет генератор случ. чисел? Если да то что для этого нужно знать.

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

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

Много посвящено исследованиям по получению равномерно-распределенных генераторов псевдо случайных чисел.
кстати параметры хороших генераторов насколько я понимаю приравниваются к гос.тайне ;)
такие последовательности могут использоваться в алгортмах шифрования.

Есть алгоритмы построения на базе равномерно распределенного генератора дающего заданное распределение чисел - т.е. можно построить генератор который будет давать случайные числа от 0 до 9 - но 2 будет выпадать в 3 раза чаще чем 5 и т.п (потому , уважающие себя технари никогда не играют с компьютерными автоматами в азартные игры ;) )

Но в общем - это все - примерно четвертый-пятый курс технического вуза на большинстве ит-шных специальностей.. 
доучитесь - и вам все расскажут ;)

___________________
А если "по топику" только достав алгоритм можно что-то сказать.
Попробуйте провести статистический анализ генерируемых им чисел - может и увидите закономерность..


Это сообщение отредактировал(а) Denjs - 14.3.2008, 02:28
PM MAIL   Вверх
Akina
Дата 14.3.2008, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(FelikZ @  14.3.2008,  02:20 Найти цитируемый пост)
Генератор на пхп.

Значит, его исходный код доступен. Озаботьтесь. Вопросы отпадут, причем сразу все.

Цитата(FelikZ @  14.3.2008,  02:20 Найти цитируемый пост)
Числа генерятся раз в 10мин

Не влияет.

Цитата(FelikZ @  14.3.2008,  02:20 Найти цитируемый пост)
замечено что часто падают числа по принципу x y x/2 

Во-первых, это только кажется. Во-вторых, приведение случайных в диапазон может приводить к неравномерности.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
FelikZ
Дата 14.3.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(Akina @  14.3.2008,  08:31 Найти цитируемый пост)
Значит, его исходный код доступен. Озаботьтесь. Вопросы отпадут, причем сразу все.

не доступен в этом и проблема :(

Цитата(Akina @  14.3.2008,  08:31 Найти цитируемый пост)
Во-первых, это только кажется. Во-вторых, приведение случайных в диапазон может приводить к неравномерности

ну просто совпадения такие примерно раз в 2 часа, с учетом интервала в 10мин, это раз в 12 раз примерно случается и уже не первый день smile

Цитата(Denjs @  14.3.2008,  02:26 Найти цитируемый пост)
если вкратце вспомнить и поумничать - то
генераторы псевдо случайных чисел  на самом деле цикличны - рано или поздно последовательность чисел начинает повторятся.

вот на это я и расчитываю smile разгадать по какому принципу это происходит smile


Цитата(Denjs @  14.3.2008,  02:26 Найти цитируемый пост)
Но в общем - это все - примерно четвертый-пятый курс технического вуза на большинстве ит-шных специальностей.. 
доучитесь - и вам все расскажут ;)

Будем ждать :(


--------------------
user posted image
PM WWW ICQ Skype   Вверх
Aikus
Дата 15.3.2008, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 29.11.2007

Репутация: нет
Всего: 1



Цитата(FelikZ @  14.3.2008,  12:37 Найти цитируемый пост)
не доступен в этом и проблема :(

Ктото прихватизировал пхп, вроде он был гнушный, гуглишь библиотеку и читаешь код.
PM MAIL   Вверх
mmvds
Дата 15.3.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: 1
Всего: 6



Поиск рулит http://forum.vingrad.ru/forum/topic-189808.html
Правда обсуждали ГСЧП паскалевский
PM MAIL ICQ   Вверх
FelikZ
Дата 20.3.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Немного покопавшись в исходном коде пхп, обнаружил, что рандом в пхп на самом деле тот же что и Cишный... Заглянув в исходники рандома(stdlib) а именно функции:
srand():
Код

void __cdecl srand (
        unsigned int seed
        )
{

        _getptd()->_holdrand = (unsigned long)seed;

}

И самого rand():
Код

int __cdecl rand (
        void
        )
{

        _ptiddata ptd = _getptd();

        return( ((ptd->_holdrand = ptd->_holdrand * 214013L
            + 2531011L) >> 16) & 0x7fff );

}


Можно увидеть что выщитывание псевдо случайного числа исходит от некой переменной "_holdrand" которую мы инициализируем текущим временем(по msdn в с++) с помощью функции srand() на этапе запуска программы. Из этого сделал вывод, что зная значение "_holdrand" можно спокойно "угадывать" следущие случ. числа...
Теперь вопрос:
Возможно ли узнать чему равен "_holdrand" зная некую последовательность чисел?


--------------------
user posted image
PM WWW ICQ Skype   Вверх
v2v
Дата 20.3.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



генерация holdrand посути и будет реализованным генератором в си. если тебе удастся найти алгоритм генерации , то возможно получится предсказывать  грядущие числа .
НО как уже было сказано выше генератор случ. чисел на си  зависит от текущего времени (как минимум с точностью до миллисекунд )., так что ты должен учесть тот момент, что твоё предсказание будет иметь место только для конкретного момента времени (с точностью до миллисекунд) , а ты не можешь точно определить когда генерируется переменная holdrand ..

p.s. при паралельном одновременном вызове сишной функции rand() ( 2 вызова в одну милисекунду) в паралельных потоках, генератор выдавал одинаковые числа!

Добавлено через 3 минуты и 10 секунд
Цитата(FelikZ @  14.3.2008,  12:37 Найти цитируемый пост)
генераторы псевдо случайных чисел  на самом деле цикличны - рано или поздно последовательность чисел начинает повторятся.
вот на это я и расчитываю smile разгадать по какому принципу это происходит smile

сгенерируй 2 * MAX_RAND чисел , сохрани их в файлик и посмотри как они меняются, или когда начнёт повторятся последовательность, начнёт ли.



--------------------
PM   Вверх
maxim1000
Дата 20.3.2008, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



для такого генератора можно попробовать такое:
берём первое значение, старшие 16 бит его мы знаем
значит, остаётся 65536 вариантов для младшей части (а значит 65536 всевозможных значений и для всего числа)
создаём 65536 таких генераторов у себя (т.е. по сути, просто переменная и функция next) и запускаем их параллельно исследуемому
на каждом шаге будут отсекаться какие-то генераторы
по идее, в конце должен остаться только один...
шагов будет максимум 2^32, хотя. наверное, можно доказать, что в самом худшем случае меньше


--------------------
qqq
PM WWW   Вверх
FelikZ
Дата 20.3.2008, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(v2v @  20.3.2008,  20:35 Найти цитируемый пост)
генерация holdrand посути и будет реализованным генератором в си. если тебе удастся найти алгоритм генерации , то возможно получится предсказывать  грядущие числа .
НО как уже было сказано выше генератор случ. чисел на си  зависит от текущего времени (как минимум с точностью до миллисекунд )., так что ты должен учесть тот момент, что твоё предсказание будет иметь место только для конкретного момента времени (с точностью до миллисекунд) , а ты не можешь точно определить когда генерируется переменная holdrand ..

p.s. при паралельном одновременном вызове сишной функции rand() ( 2 вызова в одну милисекунду) в паралельных потоках, генератор выдавал одинаковые числа!

Ну дело в том, что код который я привел выше, на сколько я и понимаю, и есть весь алгоритм образования случ. числа  smile , а если это так, то этот алгоритм зависит от времени лишь при инициализации рандома функцией srand(), а это делается 1раз в начале программы, если верить докам... То есть не важно когда вызывается rand() главное вычислить исходное значение "_holdrand", а оно по сути и есть то самое время(мс), когда запускается функция srand(). Но вот опять же вопрос, как сделать как бы "обратный алгоритм" зная "исходный алгоритм" для случ. чисел, чтобы из последовательности чисел (ну штук 30 вполне можно знать) сгенерированных rand(), получить заведомое "_holdrand". 


Цитата(v2v @  20.3.2008,  20:35 Найти цитируемый пост)
сгенерируй 2 * MAX_RAND чисел , сохрани их в файлик и посмотри как они меняются, или когда начнёт повторятся последовательность, начнёт ли.

В процессе smile


--------------------
user posted image
PM WWW ICQ Skype   Вверх
v2v
Дата 20.3.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



ты забываешь про функцию _getptd(); где и инициализируется holdrand  , там наверняка учитывается текущее время!


--------------------
PM   Вверх
FelikZ
Дата 20.3.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(maxim1000 @  20.3.2008,  20:40 Найти цитируемый пост)
берём первое значение

Проблема в том, что известеное значение не есть "реальное" случ. число, оно получено в результате формулы:
Код

(rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min)
Где 
range_min - минимальное генерируемое число
range_max - максимальное соответственно



--------------------
user posted image
PM WWW ICQ Skype   Вверх
v2v
Дата 20.3.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



там уже будет сложнее , она ссылается на виндовые библиотеке, которые не доступны в исходниках (


--------------------
PM   Вверх
FelikZ
Дата 20.3.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(v2v @  20.3.2008,  21:02 Найти цитируемый пост)
ты забываешь про функцию _getptd(); где и инициализируется holdrand  , там наверняка учитывается текущее время! 

неа, через отладку глянул, ф-я _getptd() просто возвращает указатель на структуру где содержится _holdrand... Реально единственное, что изменяет его это 
Код

((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff

в функции rand()
и значание текущего времени, при инициализации рандома в srand()

Добавлено через 3 минуты и 45 секунд
Цитата(v2v @  20.3.2008,  21:03 Найти цитируемый пост)
там уже будет сложнее , она ссылается на виндовые библиотеке, которые не доступны в исходниках ( 

хз меня пускает в отладку этих функций smile


--------------------
user posted image
PM WWW ICQ Skype   Вверх
xvr
Дата 20.3.2008, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(v2v @ 20.3.2008,  21:02)
ты забываешь про функцию _getptd(); где и инициализируется holdrand  , там наверняка учитывается текущее время!

Бред.

Код

*_ptiddata _getptd(void) - get per-thread data structure for the current thread
*
*Purpose:
*
*Entry:
*       unsigned long tid
*
*Exit:
*       success = pointer to _tiddata structure for the thread
*       failure = fatal runtime exit
*
*Exceptions:
*
*******************************************************************************/

_ptiddata __cdecl _getptd (
        void
        )
{
        _ptiddata ptd;
        DWORD   TL_LastError;


        TL_LastError = GetLastError();
        if ( (ptd = FLS_GETVALUE(__tlsindex)) == NULL ) {
            /*
             * no per-thread data structure for this thread. try to create
             * one.
             */
            if ( ((ptd = _calloc_crt(1, sizeof(struct _tiddata))) != NULL) &&
                FLS_SETVALUE(__tlsindex, (LPVOID)ptd) ) {

                /*
                 * Initialize of per-thread data
                 */

                _initptd(ptd);

                ptd->_tid = GetCurrentThreadId();
                ptd->_thandle = (uintptr_t)(-1);
            }
            else
                _amsg_exit(_RT_THREAD); /* write message and die */
            }

        SetLastError(TL_LastError);


        return(ptd);
}

Всего лишь ссылка на глобальные данные thread'а, т.е. holdrand можно считать просто глобалом

PM MAIL   Вверх
v2v
Дата 20.3.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



Код

                /*
                 * Initialize of per-thread data
                 */
                _initptd(ptd);

тут смотрел?


--------------------
PM   Вверх
Alexandr87
Дата 22.3.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



Зачем мозги парить. Два раза вызовите srand с одним и тем же seed  и посмотрите на результаты вызова функции rand после этого.
PM Jabber   Вверх
xvr
Дата 22.3.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(v2v @ 20.3.2008,  23:07)
Код

                /*
                 * Initialize of per-thread data
                 */
                _initptd(ptd);

тут смотрел?

Смотрел конечно
Код

/***
*void _initptd(_ptiddata ptd) - initialize a per-thread data structure
*
*Purpose:
*       This routine handles all of the per-thread initialization
*       which is common to _beginthread, _beginthreadex, _mtinit
*       and _getptd.
*
*Entry:
*       pointer to a per-thread data block
*
*Exit:
*       the common fields in that block are initialized
*
*Exceptions:
*
*******************************************************************************/

void __cdecl _initptd (
        _ptiddata ptd
        )
{
        ptd->_pxcptacttab = (void *)_XcptActTab;
        ptd->_holdrand = 1L;

#ifdef _M_MRX000
        /*
         * MIPS per-thread data
         */
        ptd->_MipsPtdDelta =
        ptd->_MipsPtdEpsilon = -1L ;
#endif  /* _M_MRX000 */
}

Еще куда посмотреть? (Для справки: 1L - это константа  smile )

PM MAIL   Вверх
FelikZ
Дата 23.3.2008, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

Репутация: нет
Всего: 5



Цитата(Alexandr87 @  22.3.2008,  09:50 Найти цитируемый пост)
Зачем мозги парить. Два раза вызовите srand с одним и тем же seed  и посмотрите на результаты вызова функции rand после этого. 

Результаты будут одинаковые. И как это поможет в поиске seed'а для множества чисел :?)


--------------------
user posted image
PM WWW ICQ Skype   Вверх
Alexandr87
Дата 23.3.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



FelikZ, этот пост был к людям спорящим о зависимости выдаваемых чисел от вермени.
А так как он независим, тут прокатывает вариант предолженный maxim1000
PM Jabber   Вверх
v2v
Дата 23.3.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



ок. таки да к времени никакой привязки. но всё же чего то не хватает для предсказаний.
попытался написать вот такой кусочек кода:

Код

    unsigned long holder = 1L;
    unsigned int seed = 1;
    int r1;

    holder=(unsigned long)seed;
    srand(seed);
    for (int ii=0; ii<5; ii++)
    {
     printf("\nPredict  : %d", ( holder=holder*214013L+2531011L ) >> 16 & 0x7fff);
     r1=rand();
     printf("\nRandom: %d",r1);
    }


предсказания не верны. что не правильно?

Это сообщение отредактировал(а) v2v - 23.3.2008, 18:07


--------------------
PM   Вверх
maxdiver
Дата 23.3.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



У меня вывод совпадает
PM MAIL WWW ICQ   Вверх
v2v
Дата 23.3.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



Правда? Прикольно!! smile
Какая ОСь? MVS используешь?
похоже, что рассчёт ещё и компиляторо зависимый.

Это сообщение отредактировал(а) v2v - 23.3.2008, 22:39


--------------------
PM   Вверх
maxdiver
Дата 24.3.2008, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



VS2008
сомневаюсь, что от него что-то зависит.
если ты взял константы из исходников RTL _своего_ компилятора, то и у тебя должно работать.
PM MAIL WWW ICQ   Вверх
v2v
Дата 24.3.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



я писал пример в борланд с++ 5.02 , там он не работал : числа предсказывались не правильно.
поставил вс2008 - предсказания сбываются).


--------------------
PM   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0795 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.