var
RandSd:LomgWord;
Function Rand(Range,A,C:LongWord):LongWord;
asm
{ ->EAX Range }
{ <-EAX Result }
PUSH EAX
MOV EAX,A
IMUL RandSd
MOV EDX,EAX
ADD EDX,C
MOV RandSd,EDX
POP EAX
MUL EDX
MOV EAX,EDX
end;
Пример ГПСЧ который используется в языках программирования.
C++ Pascal PHP(rand)
RandSd-начальный вектор инициализации, как првило текущее время в МС
А,С - коэффициэнты для разных языков программирования разные
[пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ] D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D0%B3%D1%80%D 1%83%D1%8D %D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82% D0%BE%D0%B 4</a>
Зная алгоритм ГПСЧ и зная время, можно сгенирировать точно такую же последовательность
|