PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018
Внимание! Если программа не работает, обновите версию!
begin
var n := ReadInteger('n =');
if n <= 1 then 1.Print</p>
else
begin
var (s, i, f) := (BigInteger(1), 1, Biginteger(1));
repeat
i += 1;
f *= i;
s += f
until i = n;
s.Print
end
end.
Пример
n = 100
94269001683709979260859834124473539872070722613982672442938359305624678223479506023400294093599136466986609124347432647622826870038220556442336528920420940313