Cod sursa(job #769666)

Utilizator t.g.g.tt.g.g.t t.g.g.t Data 20 iulie 2012 14:31:13
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.54 kb
var p,n,z:longint; k,j:int64;
function nz(n:longint):longint;
begin
  nz:=0;
  while n>0 do begin nz:=nz+(n div 5); n:=n div 5 end;
end;
begin
assign(input,'fact.in'); reset(input);
read(p);
n:=2000000000; z:=n; j:=1;
assign(output,'fact.out'); rewrite(output);
if p=0 then writeln('1') else begin
while j<=z do begin
  k:=(z+j) div 2;
  if nz(k)>p then
  z:=k;
  if nz(k)<p then begin
  j:=k; if nz(k+1)>p then begin z:=j-1; k:=-1; end end;
  if nz(k)=p then
  if nz(k-1)=p then
  z:=k else
  z:=j-1;
end; writeln(k); end;
end.