Код:
Const
p=0.515;
Var
Sum:real;
i:Byte;
function Nfact(n:LongInt):Extended;
VAR
i:LongInt;
fact:Extended;
BEGIN
IF n=0 THEN fact:=1 ELSE
BEGIN
fact:=1;
FOR i:=1 TO n DO
fact:=fact*i;
END;
Nfact:=fact;
END;
function X2np(X:Extended; n:WORD):Extended;
Var i:WORD;
Y:Extended;
BEGIN
IF n=0 THEN X2np:=1 ELSE
IF n=1 THEN X2np:=X ELSE
BEGIN
Y:=X;
FOR i:=2 TO n DO Y:=Y*X;
X2np:=Y;
END;
END;
Function C(m,n:Longint):Extended;
begin
C:=Nfact(m)/Nfact(n)/Nfact(m-n);
end;
Begin
Sum:=0;
For i:=1 to 60 do
Sum:=Sum+C(100,i)*X2np(p,i)*X2np((1-p),(100-i));
Writeln('Sum = ',Sum:0:5);
Readln;
End.