Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизГенератор случайных чисел Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.037 c