Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Генератор случайных чисел   Найти похожие ветки 

 
009   (2004-09-14 13:21) [0]

народ, кто знает какие варианты создания генератора случайных чисел помимо функции random?


 
TUser ©   (2004-09-14 13:22) [1]

См. Кнут, т.2. Там глава про генераторы.


 
Ega23 ©   (2004-09-14 13:37) [2]

13, 456,3,9,67,16,35,98,....


 
Рамиль ©   (2004-09-14 13:42) [3]

А чем не устраивает?


 
kukuikar ©   (2004-09-14 13:44) [4]

орешник?


 
Ega23 ©   (2004-09-14 13:47) [5]

kukuikar ©   (14.09.04 13:44) [4]

Не, ни в коем разе.

2 009   (14.09.04 13:21)
А правда, чем тебе рэндом не угодил?


 
kukuikar ©   (2004-09-14 13:52) [6]

а как же ето?

> Ega23 ©   (14.09.04 13:37) [2]
> 13, 456,3,9,67,16,35,98,....


 
Ega23 ©   (2004-09-14 13:55) [7]

kukuikar ©   (14.09.04 13:52) [6]

Это всего лишь приступ послеобеденного веселья, вызванного "пароксизмом довольства"...


 
Григорьев Антон ©   (2004-09-14 14:17) [8]

RandG из модуля Math. Правда, и там всё сводится к Random.


 
Vasya.ru   (2004-09-14 14:31) [9]

Который раз встречаю этот вопрос, и никак не пойму - а нафига? Чем Рандом не устраивает?


 
Konrads   (2004-09-14 14:36) [10]

Берёш массивчик как глобальную переменную, не очень короткий но и не очень длинный 128 - 256 вполне достаточно, заполни его при запуске программы всякой лабудой с таймера  а потом сдвигай в какую нибудь сторону. Последний разряд заполни модулем суммы из произвольного кол-ва произвольных ячеек по нужному тебе основанию, к примеру  x mod 10 - получишь цифирьки от 0 до 9 этоже и будет выходом генератора. Работает отлично.

Примерчик:

var
 Form1: TForm1;
 REC: ARRAY[1..128] of integer;

function  TForm1.MyRandom : integer;
var i,j : integer;
begin
 j := 0;
   j := j + Rec[1];
   j := j + Rec[3];
   j := j + Rec[5];
   j := j + Rec[7];
   j := j + Rec[11];
   j := j + Rec[13];
   j := j + Rec[17];
   j := j + Rec[19];
   j := j + Rec[23];
   j := j + Rec[29];
   j := j + Rec[127];
   j := j mod 10;
 for i := 127 downto 1 do rec[i+1] := rec[i];
 Rec[1] := j;
 result := j;
end;

Когда-то сам придумал ;)


 
Master Kolyan   (2004-09-14 15:26) [11]

Держи братан: (все проверено тем же форумом работат в 1.5 раза быстрее и с новыми возможностями)

>Defunct ©   (26.02.04 02:17) [39] Бльшой ему пасиб!!!
Function MyRandom(Number:Integer):Cardinal;Assembler;
asm
mov   ecx,  0F7F77B0Ah
add   eax,  Code // Integer randomize

mul   ecx
xor   ecx,edx
mul   ecx

shr   eax,8   // If RGB result is needed else comment it
end;

эта функция работает как массив случайных чисел (Number-номер параметра) Всё проверено никаких видимых, хоть засмотрись, закономерностей не видно, супер короче


 
Master Kolyan   (2004-09-14 15:27) [12]

>(Number-номер параметра) тьфу блин - (Number-номер элемента)


 
Master Kolyan   (2004-09-14 15:29) [13]

shr   eax,8   // If RGB result is needed else comment it
Это ненадо писать


 
PVOzerski ©   (2004-09-14 17:03) [14]

Можешь еще позаимствовать исходник Random"а из системной библиотеки FreePascal.


 
Konrads   (2004-09-15 06:13) [15]

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


 
Defunct ©   (2004-09-15 09:09) [16]

Konrads   (15.09.04 06:13) [15]

попробуйте [11] ;)


 
009   (2004-09-21 12:42) [17]

огромное всем спасибо:) извините что с задержкой отвечаю:)


 
Amoeba ©   (2004-09-21 17:22) [18]

На Torry есть готовые альтернативные генераторы, даже с исходниками (скачивай и используй или изучай):
http://www.torry.net/pages.php?id=309



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
4-1093677122
Александр1
2004-08-28 11:12
2004.10.10
Подгон проги по разрешение экрана


1-1095861893
DelphiLexx
2004-09-22 18:04
2004.10.10
Получить сообщения окна, зная Handle


3-1095060867
Роман Снегирев
2004-09-13 11:34
2004.10.10
Разрыв коннекта


4-1094715591
cheburator
2004-09-09 11:39
2004.10.10
Компоненты для работы с графикой из под WIN API ????


1-1096008720
RoLeX2004
2004-09-24 10:52
2004.10.10
Как проверить соответствует ли имя файла заданной маске?