// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
1. По-современному, для чего этот язык и создавался
begin
var k:=ReadInteger('k=');
Writeln(2.To(k).Aggregate(BigInteger(1),(p,q)->p*q))
end.
Примеры
k= 10
3628800
k= 137
5012888748274991661034926292112253883237205694398754483388962668892510972746226260034675717797072343372830591567227826571884373881355612819314826377917827129740056802397016509378163883274055583382110208000000000000000000000000000000000
2. По-старинке, т.е. используя этот язык, как Турбо Паскаль четвертьвековой давности
var
i,k:integer;
p:real;
begin
Write('k= '); Read(k);
p:=1;
for i:=2 to k do p:=p*i;
Writeln(p)
end.
Примеры
k= 10
3628800
k= 137
5.01288874827499E+234