Cod sursa(job #52037)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 17 aprilie 2007 17:41:30
Problema Factorial Scor 35
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.09 kb
var a,z,w,p:int64;
    li,lf:int64;
    //a,z:int64;

procedure cautare_bin(li,lf:longint);
var i:int64;
    e:double;
begin

a:=((li+lf) div 2);
i:=1;
w:=0;
while trunc(a/i)>0 do
      begin
      i:=i*5;
      e:=a/i;
      w:=w+trunc(e);
      end;
end;

procedure cautare;
var gasit:boolean;
begin
li:=1;
lf:=100000000;
gasit:=false;
while li<lf do
      begin
      cautare_bin(li,lf);
      if w=p then
         begin
         if not gasit then
            z:=a
            else begin
                 if a<z then z:=a;
                 end;
         gasit:=true;
         end;
         //else
         if w<p then
                 begin
                 li:=a+1;
                 end
              else begin
                   lf:=a-1;
                   end;
      end;
if not gasit then
   a:=-1;
end;

procedure scriere;
begin
assign(output,'fact.out');
rewrite(output);
write(a);
close(output);
end;

procedure citire;
begin
assign(input,'fact.in');
reset(input);
read(p);
close(input);
end;

begin
citire;
cautare;
scriere;
end.