Cod sursa(job #29721)

Utilizator salgau_catalinSalgau Mihai-Catalin salgau_catalin Data 9 martie 2007 20:32:44
Problema Factorial Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.69 kb
{$I-,OBJECTCHECKS-,Q-,R-,S-}
program factorial;
const v:array[1..16] of longint=
      (5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 1220703125, 6103515625, 30517578125, 152587890625, 762939453125);
var n,p,f,s,i:longint;
begin
 assign(input,'fact.in');
 reset(input);
 readln(p);
 close(input);
 assign(output,'fact.out');
 rewrite(output);
 if p=0 then begin writeln(1); close(output); exit; end;
 n:=p*5;
 s:=12;while n/v[s]<1 do dec(s);
 //function
 for i:=1 to s do
  inc(f,trunc(n/v[i]));
 while f>p do
  begin
   dec(n,5);
   f:=0;
   for i:=1 to s do
    inc(f,trunc(n/v[i]));
  end;
 if p>f then writeln(-1) else writeln(n);
 close(output);
end.