Cod sursa(job #291288)

Utilizator FllorynMitu Florin Danut Flloryn Data 29 martie 2009 17:17:14
Problema Factorial Scor 60
Compilator fpc Status done
Runda The Beginners Marime 0.83 kb
program pascal;
var f,g:text;   ok:boolean; p,s,mij:longint;

  procedure numarzerouriile(aux:longint);
  begin
  s:=aux div 5;
  aux:=aux div 5;
  while aux<>0 do
    begin
    s:=s+aux div 5;
    aux:=aux div 5;
    end;
  end;

  procedure caut(a,b:longint);
  begin
  mij:=(a+b) div 2;
  numarzerouriile(mij);
  if s=p then ok:=true
         else
          begin
           if a>b then ok:=false
                  else
                  begin
                  if s<p then caut(mij+1,b)
                         else caut(a,mij-1)
                  end;
          end;
  end;

begin
assign(f,'fact.in'); reset(f);
assign(g,'fact.out'); rewrite(g);
read(f,p);
ok:=true;
caut(1,100000000);
if p=0 then write(g,1)
else
if not ok then write(g,-1)
          else write(g,(mij div 5)*5);
close(f);
close(g);
end.