Cod sursa(job #202898)

Utilizator 05_YohnE1 La5c01 05_Yohn Data 11 august 2008 22:58:50
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
program gaju;
var f,g:text;
a,b,c,cn,p:longint;
gasit:boolean;
function nrz(x:longint):longint;
var c:longint;
begin
c:=0;
while x<>0 do begin
      c:=c+x;
      x:=x div 5;
      end;
nrz:=c;
end;
begin
assign(f,'fact.in');
assign(g,'fact.out');
reset(f);rewrite(g);
readln(f,p);
if p<>0 then begin
a:=0;b:=Maxlongint;gasit:=false;
while a<>b do begin
      c:=(a+b)div 2;
      cn:=nrz(c div 5);
      if cn=p then begin
                   gasit:=true;
                   break;
                   end
              else if cn<p then a:=c+1
                           else b:=c;
end;
if gasit then begin
         dec(c);
         while nrz(c div 5)=p do dec(c);
         inc(c);
         writeln(g,c);
         end
         else writeln(g,'-1');
end else writeln(g,'1');
close(f);close(g);
end.