// 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<nf then Inc(n) until f>=nf; if f=nf then Writeln('n=',n) else Writeln('Число не является факториалом') end.
Тестовое решение Значение n! 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000 n=63
begin
var nf:=ReadlnString('Значение n!').ToBigInteger;
var n:=1;
var f:=BigInteger(1);
repeat
f*=n;
if f<nf then Inc(n)
until f>=nf;
if f=nf then Writeln('n=',n)
else Writeln('Число не является факториалом')
end.
Тестовое решение
Значение n! 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000
n=63
var a, I:real;
begin
read (a);
I:=1;
while a <> 1 do
begin
a:=a/I;
I:=I+1;
end;
writeln (I-1);
end.