Cod sursa(job #1997890)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 5 iulie 2017 19:04:58
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.55 kb
Program Factorial;
var p:0..100000010;
st,dr,m:longint;
f,g:text;
function zero(k:longint) :longint;
var i,s:longint;
begin
i:=5;
s:=0;
while k>=i do begin
 s:=s+(k div i);
 i:=i*5;
 end;
zero:=s;
end;
begin
assign(f,'fact.in');assign(g,'fact.out');
reset(f);rewrite(g);
readln(f,p);
if p=0 then writeln(g,1)
 else begin
 st:=1;
 dr:=p*5+100;
 while(st<=dr) do begin
  m:= (st+dr) div 2;
  if(zero(m)>=p)then dr:=m-1
  else
  st:=m+1;
 end;
 if zero(st)=p then
  writeln(g,st)
 else
  writeln(g,'-1');
end;
close(f);close(g);
end.