// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
begin
var nf:=ReadlnString('Значение n!').ToBigInteger;
var n:=1;
var f:=BigInteger(1);
repeat
f*=n;
if f until f>=nf;
if f=nf then Writeln('n=',n)
else Writeln('Число не является факториалом')
end.
Тестовое решение
Значение n! 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000
n=63