phải là bằng 0 mới được nhé bạn
uses crt;
var n,i:integer;
s:longint;
begin
clrscr;
write('n='); readln(n);
if n=0 then break
else begin
s:=1;
for i:=1 to n do
s:=s*i;
writeln('tich la: ',s);
end;
readln;
end.
Ý HTT Single là nhập cho tới khi n>=0 mà :))