псевдо генератор случ. чисел

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

Открываем MDSN.

-- begin win32 clipboard --

Код: Выделить всё

// crt_rand.c
/* This program seeds the random-number generator
 * with the time, then displays 10 random integers.
 */

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main( void )
{
   int i;

   /* Seed the random-number generator with current time so that
    * the numbers will be different every time we run.
    */
   srand( (unsigned)time( NULL ) );

   /* Display 10 numbers. */
   for( i = 0;   i < 10;i++ )
      printf( "  %6d\n", rand() );
}
-- end win32 clipboard --
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Gets
Сообщения: 14
Зарегистрирован: 27 фев 2004, 11:37
Контактная информация:

Если использовать образующий полином типа Xn + Xn-1 +…+ X1 + X0 при его циклическом сдвиге в любую сторону и сложении сдвинутого бита (при условии что ты пишешь на асме) с несколькими битами под номерами n-m, n-k и т.д. то ты получишь случайное число (ну почти случайное, в зависимости от того с какими битами ты будешь складывать и сколько их будет). Может я немного некорректно объяснил, спроси...
Стойкость илюзии знаний, обратно пропорциональна реальному объему знаний.
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

В Кнуте есть масса способов.... Вышеописанный так же в нем упоминается
Усложнять - легко, упрощать - сложно
crack
Сообщения: 8
Зарегистрирован: 29 апр 2004, 00:14
Откуда: Санкт-Петербург

открываем кнута читаем теорему о выборе параметров генератора и пишем конгруэнтную функцию
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

конгруэнтная функция - не интересна, лучше на асме биты двигать. Ктому же делается это достаточно просто, всё умещается в 2-х логических операциях=).
Усложнять - легко, упрощать - сложно
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Почему вам rand не понравился, господа. Зачем эти дешёвые понты :) Все ведь математики :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

OFFTORPIC: Aik, снова SMTP глючит.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

Romeo, не заблуждайся, я не математик...
А что касается понтов, то они действительно дешёвые.... Фу...
Усложнять - легко, упрощать - сложно
Ответить