Пример. Собственный генератор случайных чисел.
Иногда требуется написать собственный генератор случайных чисел да еще так, что бы он выдавал случайное число из диапазона только один раз (равномерное распределение). Ниже приведен такой пример. Если правильно подобрать коэффициенты, то интервал можно увеличить.
program Generator;
var s,i: integer;
function next(var ss:integer): integer;
const k1=37; k2=3; cycle=64;
begin
next:=ss;
ss:=(k1*ss+k2) mod cycle
end;
begin
s:=16;
for i:=1 to 64 do write(next(s):3);
end.
2008-03-11 • Просмотров [ 2891 ]