Cod sursa(job #800115)

Utilizator tibi2012Galatanu Tiberiu tibi2012 Data 20 octombrie 2012 19:00:48
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.58 kb
var f,g:text;
    p,st,dr,mijloc:int64;

function zero(n:int64):int64;
var p:int64;
begin
  zero:=0;
  p:=5;
  while p<=n do
    begin
      zero:=zero+n div p;
      p:=p*5;
    end;
end;

begin
  assign (f,'fact.in');
  assign (g,'fact.out');
  reset(f);
  rewrite(g);
  readln(f,p);
  st:=1;
  dr:=100000000000;
  while st<dr do
    begin
      mijloc:=(st+dr) div 2;
      if zero(mijloc)<p then
        st:=mijloc+1
      else
        dr:=mijloc;
    end;
  if zero(st)=p then
    write(g,st)
  else
    write (g,'-1');
  close(f);
  close(g);
end.