Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.49 MB
Время: 0.036 c
3-1094715833
Andrey
2004-09-09 11:43
2004.10.10
Проблема с заполнением comboBox


1-1095850674
bl4ck_w1nd
2004-09-22 14:57
2004.10.10
разные эффекты


14-1095445631
hgd
2004-09-17 22:27
2004.10.10
win32.hlp на Русском


14-1095459260
123
2004-09-18 02:14
2004.10.10
ЭВМ былых времен.


1-1096305883
sexy
2004-09-27 21:24
2004.10.10
Рэндом число из массива





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский