Cod sursa(job #1075615)

Utilizator Mihai_ChihaiMihai Chihai Mihai_Chihai Data 9 ianuarie 2014 12:12:37
Problema Factorial Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.71 kb
program fact;
  var p,n,i,j,m:longint;
      gasit:boolean;

function zero(n:longint):longint;
var k,i:longint;
begin
i:=5; k:=0;
while n div i<>0 do
  begin
    inc(k,n div i);
    i:=i*5;
  end;
zero:=k;
end;

begin
  assign(input,'fact.in');
  reset(input);
  assign(output,'fact.out');
  rewrite(output);
  readln(p);

  i:=1;
  j:=5000000;
  gasit:=false;
  while (i<=j) and  not gasit do
    begin
      n:=(i+j) div 2+1;
      if zero(n)=p then gasit:=true
        else if zero(n)>p then j:=n-1
          else i:=n+1;
      end;
    if gasit then begin
       while n mod 5<>0 do dec(n);
       writeln(n)
        end
             else
       writeln(-1);
    close(output);
end.