Cod sursa(job #319796)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 2 iunie 2009 10:41:04
Problema Factorial Scor 95
Compilator fpc Status done
Runda Arhiva de probleme Marime 1 kb
program p1;
var f,g:text;
    ok,st,dr,i,n,p,nrz,nz,s,rez,m,pu:longint;
begin
    writeln('marta');
    assign(f,'fact.in');
    reset(f);
    assign(g,'fact.out');rewrite(g);
    read(f,p);
    st:=1;
    dr:=2147483647;
    ok:=0;
    if p=0 then begin
                ok:=1;
                rez:=1;
                end
    else
    begin
        while (dr>=st) and (rez=0) do
        begin
            m:=(st+dr) div 2;
            i:=m;
            nrz:=0;
            pu:=5;
            while i>=pu do
                  begin
                       nrz:=nrz+i div pu;
                       pu:=pu*5;
                  end;
            if nrz=p then rez:=m
                     else if p<nrz then dr:=m-1
                                   else st:=m+1;
        end;
    end;
    if rez=0 then writeln(g,'-1')
             else begin
                  while rez mod 5>0 do rez:=rez-1;
                  writeln(g,rez);
                  end;
    close(f);
    close(g);
end.