Pagini recente » Cod sursa (job #1090384) | Borderou de evaluare (job #2051216) | Cod sursa (job #2400682) | Cod sursa (job #837797) | Cod sursa (job #1161134)
program fact;
var
f:text;
n,x,j,nr0,copie,i,a,b,mij:longint;
function cati0(x:longint):longint;
var
putere,suma:longint;
begin
putere:=5;
suma:=0;
while putere<=x do begin
suma:=suma+x div putere;
putere:=putere*5;
end;
cati0:=suma;
end;
begin
assign(f,'fact.in');
reset(f);
readln(f,n);
close(f);
a:=5;
b:=400000015;
if n=0 then mij:=1 else begin
while abs(b-a)>5 do begin
mij:=(a+b) div 2;
if ((mij mod 10 >0) and (mij mod 10<5)) then mij:=mij-mij mod 10
else if mij mod 10 > 6 then mij:=mij-mij mod 10 + 5;
if cati0(mij)>n then
b:=mij-5
else a:=mij;
end;
a:=a div 5;
b:=b div 5;
for i:=a to b do
if cati0(i*5)=n then begin
break;
end;
end;
assign(f,'fact.out');
rewrite(f);
if n=0 then writeln(f,1)
else if cati0(i*5)=n then writeln(f,i*5)
else writeln(f,-1);
close(f);
end.