uses crt;
var n,i:longint;
gt:real;
begin
clrscr;
write('Nhap n='); readln(n);
gt:=1;
for i:=1 to n do
gt:=gt*i;
writeln(n,'!=',gt:0:0);
readln;
end.
clrscr;Mình có cách siêu rút gọn của pascal đây:
uses crt;
var n,t: extended;
i: longint;
begin
repeat
write('n=');read(n);
until n>0;
t:=1;
for i:=1 to n div 2 do
t:=t*n*(n-i+1);
if n mod 2 = 1 then
t:=t*(n div 2 +1);
write('n!=t');
readln;readln;
end.
