Cod sursa(job #260294)

Utilizator MihaiBunBunget Mihai MihaiBun Data 16 februarie 2009 21:24:11
Problema Factorial Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.72 kb
program fcto;
var f:text;
    n,d,nr,p,li,ls,mij,s:longint;
begin
  assign(f,'fact.in');
  reset(f);
  readln(f,p);
  close(f);
  assign(f,'fact.out');
  rewrite(f);
  if p=0 then write(f,1)
         else begin
  li:=1;
  ls:=5*p;
  mij:=(li+ls) div 2;
  while li<=ls do
    begin
      d:=5;
      s:=0;
      while mij div d>0 do
        begin
          s:=s+mij div d;
          d:=d*5
        end;
      if s>=p then ls:=mij-1
              else li:= mij+1;
     mij:=(li+ls) div 2;
    end;
    d:=5;
    s:=0;
    while (mij+1) div d>0 do
      begin
        s:=s+mij div d;
        d:=d*5
      end;
    if s=p then write(f,mij+1)
           else write(f,-1);
              end;
  close(f);
end.