Cod sursa(job #362528)

Utilizator Gandalf29Demeter Csaba Gandalf29 Data 9 noiembrie 2009 22:24:32
Problema Factorial Scor 25
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.76 kb
var f:text;
    a,b,j,k,i,n,p:longint;

function keres(a:longint):longint;
begin
 keres:=a div 5+
        a div 25+
        a div 125+
        a div 625+
        a div 3125+
        a div 15625+
        a div 78125+
        a div 390625+
        a div 1953125+
        a div 9765625+
        a div 48828125+
        a div 244140625+
        a div 1220703125;
end;

begin
 assign(f,'fact.in');
 reset(f);
 readln(f,p);
 close(f);
 if p=0 then begin
  i:=1;
 end
 else begin
  a:=1;
  b:=1220703125;
  while a<=b do
  begin
   i:=(a+b) div 2;
   k:=keres(i);
   if k=p then a:=b+1
   else if k<p then a:=i+1
                else b:=i-1;
   end;
  if k<>p then k:=-1;
 end;
 assign(f,'fact.out');
 rewrite(f);
 writeln(f,i);
 close(f);
end.