Pagini recente » Cod sursa (job #1697797) | Cod sursa (job #3179110) | Cod sursa (job #2389227) | Cod sursa (job #1811542) | Cod sursa (job #274841)
Cod sursa(job #274841)
var P : longint;
f : textfile;
function CountFactZero(N : int64) : int64;
var i : int64;
begin
i := 0;
while N > 0 do
begin
n := n div 5;
inc(i, N);
end;
inc(i, N);
CountFactZero := i;
end;
function CautaBinar(P, s, f : int64) : integer;
var z, mid : int64;
rez : integer;
begin
if s >= f
then CautaBinar := -1;
mid := (s+f) div 2;
z := CountFactZero(mid);
if z = -1 then
begin
CautaBinar := -1;
exit;
end;
if z = p then
begin
rez := mid;
while CountFactZero(rez-1) = p do
dec(rez);
CautaBinar := rez;
Exit;
end;
if z < P
then CautaBinar := CautaBinar(P, mid, f)
else CautaBinar := CautaBinar(P, s, mid - 1);
end;
begin
Assign(f, 'fact.in');
Reset(f);
Read(f, P);
Close(f);
Assign(f, 'fact.out');
Rewrite(f);
if P = 0
then Write(f, '1')
else Write(f, CautaBinar(P, 1, 450000000));
Close(f);
end.