Интересует информация по генератору случайных чисел...причем чем надежнее тем лучше
Created - Sarah "Voodoo Doll" White (2006/01/24)
=============================
Description:
This class wraps the Mersenne Twister generator
with a public interface that supports three common...
var
I, S, R: Integer;
begin
for I := 0 to High(A) do
A[i] := I;
for i := High(A) downto 0 do
begin
R := Random(I);
S := A[R];
A[R] := A[i];
A[i] := S;
end;
end;
и выборку делать с помощью рандома?Т.к. кроме random'а в нашем расопряжении, насколько мне известно, ничего нет, можешь попробовать, например, генерацию N чисел, запись их в массив и затем случайную выборку одного из них. Для большего усложнения можно воткнуть генерацию задержки (sleep() в делфи), использование арифмитических операций и т.д. и т.п.
Могу пример на Delpi написать.
DWORD rand_()
{
DWORD random_seed = 0;
DWORD res = 0;
__asm
{
rdtsc
xor eax,edx
mov [random_seed],eax
mov eax,[random_seed]
xor edx,edx
mov ecx,127773
div ecx
mov ecx,eax
mov eax,16807
mul edx
mov edx,ecx
mov ecx,eax
mov eax,2836
mul edx
sub ecx,eax
xor edx,edx
mov eax,ecx
mov [random_seed],ecx
mov ecx,100000
div ecx
mov res,edx
}
return res;
}
//пример
DWORD GetRandomByte()
{
return rand_()%0xFF;
}