Cho số tự nhiên n Hãy nhập trình để tính các tổng 1 + 1/2! + 1/3! + ....+1/n!?
Mik đag cần gấp.......!
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.