uses crt;
var a:array[1..100000] of real;
i,j,y,n,d,s:longint;
s2,s1:real;
begin
clrscr;
d:=1; s:=1;
write('Nhap n: '); readln(n);
for i:=1 to n do
s:=s*i;
s1:=s;
for j:=n downto 1 do
begin
s1:=s1/j;
a[d]:=s1;
d:=d+1;
end;
for y:=1 to d-2 do
s2:=s2 + 1/a[y];
write('Tong la: ',(1/s+s2):0:10);
readln
end.
P/S : Code này mk chỉ chạy dc tới n=12 thôi, trở đi là ko chạy dc do kết quả lớn quá!!!
Lời giải:
Cách khác:
program hotrotinhoc;
var T:longint;
n: integer;
function ctc(x: integer): integer;
var i: integer;
z: longint;
begin
z:=1;
for i:=1 to x do
z:=z*i;
ctc:=z;
end;
Begin
write('n='); readln(n);
T:=0;
For i:=1 to n do
T:=T+(1/ctc(n));
write(T);
readln
end.