Cod sursa(job #55329)

Utilizator maria_pparcalabescu maria daniela maria_p Data 26 aprilie 2007 23:44:26
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.85 kb
var f,g:text;
    nr,q:longint;

function zero(x:longint):longint;
var s,p:longint;
begin
s:=0;p:=5;
while x div p>0 do
      begin
      s:=s+x div p;
           p:=p*5;
      end;
zero:=s;
end;

function binar(st,dr:longint):longint;
var mij,m:longint;
begin
if st<dr then begin
               mij:=(st+dr)div 2;
               m:=zero(mij);
               if m=nr then binar:=mij
                               else if m>nr then binar:=binar(st,mij)
                                            else binar:=binar(mij+1,dr);
               end
         else q:=mij;
end;

begin
assign(f,'fact.in');reset(f);
assign(g,'fact.out');rewrite(g);
readln(f,nr);
if nr=0 then writeln(g,'1')
else begin
q:=binar(1,800000030);
if zero(q)=nr then writeln(g,5*(q div 5))
              else writeln(g,'-1');
end;
close(f);
close(g);
end.