Hình như cái điều kiện viết cho sai thì phải @@. Bài này cũng khá giống bài 5/51 , khác mỗi cái điều kiện :
Tính 1 +1/1! + 1/2! + ... + 1/n! + ... cho đến khi 1/n! < 2*10[SUP]-6[/SUP]
Bài trong SGK có thể làm như sau
var i : byte;
gt: longint;
S: real;
begin
writeln(' Tinh S = 1+ 1/1! + 1/2! + ... + 1/n! ');
gt:=1; i:= 1;
while gt < 500000 do { gt < (10^6) /2 }
begin
gt:= gt*i;
S:= S + 1/gt;
i:= i + 1;
end;
S:= S +1; { cong lai so 1 dau tien trong bieu thuc }
writeln('Gia tri S la : ',S:2:9);
readln
end.