Cod sursa(job #162233)

Utilizator borsosborsos adrian borsos Data 19 martie 2008 18:59:25
Problema Factorial Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.98 kb
var f,g:text;
    nr5,i,j,p,mij,mij2,max,min,nrr0,k:longint;
    ok:boolean;
function nr0(x:longint):longint;
var i,y:longint;
begin
i:=0;
y:=5;
while y < x do begin
      i:=i+x div y;
      y:=y*5;
               end;
nr0:=i;
end;

begin
assign(f,'fact.in'); reset(f);
assign(g,'fact.out'); rewrite(g);

readln(f,p);
if p = 0 then writeln(g,'1') else begin
max:=p*10;
min:=1;
ok:=true;
mij2:=0;
while ok do begin
      mij:=(max + min) div 2;
      mij:= mij - mij mod 5;

      if mij2=mij then begin writeln(g,'-1'); break; end;

      nrr0:=nr0(mij);

      if nrr0 < p then begin
                min:=mij;
                       end else
      if nrr0 > p then begin
                max:=mij;
                       end else
                       begin
                       writeln(g,mij);
                       ok:=false;
                       end;
      mij2:=mij;
              end;
                   end;
close(f);
close(g);

end.