Есть заданая Лямбда, есть написанная функция которрая должна возвращать число сгенерированное по формуле Пуассона - но в формуле есть факториал он должен быть интеджер - а число возвращаемое в диапазоне от 0 до 1 - как быть не пойму.

function blablabla(input: integer): boolean
function fact(x:integer):longint;
begin
if x=0 then fact:=1
else fact:=fact(x-1)*x;
end;
function P( double x; double lambda;n:integer):double;
var
res:double;
begin
res:=Exp(n*Ln(x*lambda))*exp(-lambda*x)/fact(n);
P:=res;
end;
var
x:double;
lambda:double;
n:integer;
res:double;
begin
n:=10;
lambda:=2.7;
x=12.1;
res:=P(x,lambda,n);
writeln(res);
readln;
end.
begin
randomize;//<<<<это
n:=10;
lambda:=2.7;
x=12.1;
res:=P(x,lambda,n);
d:=random;//<<<<это
writeln(res);
readln;
end.
Ну а
дальше делайте,что хотите)begin
randomize;//<<<<это
d:=random;//<<<<это
n:=10;
k:=0;
lambda:=2.7;
while d>0 do begin
d:=d-P1(lambda,k);
k:=k+1;
end;
k:=k-1;
end.