Cod sursa(job #249092)

Utilizator belgun_adrianBelgun Dimitri Adrian belgun_adrian Data 27 ianuarie 2009 15:55:25
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.79 kb
// Arhiva de probleme - Factoria;



var
        i,p,p5,x,lo,hi,mi,sol,t,d: longint;
        f                       : text;

begin
assign  (f, 'fact.in');
reset   (f);
readln  (f, p);
close   (f);

lo := 1;
hi := 1 shl 31 - 1;

sol := -1;

while (lo<=hi) do
      begin
      mi := lo + (hi-lo) shr 1;

      x  := mi;
      p5 := 0;
      t  := 5;
      while (x div t <> 0) do
          begin
          d  := x div t;
          p5 := p5 + d;
          if (d > 1) then
              t  := t * 5
          else
              break;
          end;

      if (p5 < p) then
          lo  := mi+1
      else
          hi := mi - 1;

      if (p5 = p) then
             sol :=mi;
      end;

assign  (f, 'fact.out');
rewrite (f);
writeln (f, sol);
close   (f);
end.