Program f;
Uses crt;
Var k,l,n:longint; sum:real;
Function fact(n:longint):longint;
Var k:integer;
begin
k:=n;
While k>1 do
begin
k:=k-1;
n:=n*k;
end;
fact:=n;
end;
Begin
Clrscr;
Write('Введите n: ');Readln(n);
l:=n; sum:=2;
Repeat
n:=fact(n);
sum:=sum+1/n;
n:=l-1;
l:=l-1;
Until l=1;
Writeln('Значение числа "e" = ',sum:8:6);
End.
Вариант 2
const
eps=1E-7;
var
i,n:integer;
res,x:real;
begin
res:=2;
x:=1;
repeat
readln(n)
until
n>0;
for i:=2 to n do
begin
x:=x*i;
res:=res+(1/x);
end;
writeln('Eps = ',res);
end.
Вариант 3
program n2;
var i,n,j:integer;
sum:real;
function fact(n:integer):integer;
var i,fac:integer;
begin
fac:=1;
for i:=1 to n do begin
fac:=fac*n;
end;
fact:=fac;
end;
begin
write('vvedite N = ');
readln(n);
sum:=2;
for i:=2 to n do begin
sum:=sum+1/fact(i);
end;
writeln(sum);
readln;
end.