Pagini recente » Cod sursa (job #2393142) | Cod sursa (job #2221935) | Cod sursa (job #288683) | Cod sursa (job #1072408) | Cod sursa (job #274813)
Cod sursa(job #274813)
var P : longint;
f : textfile;
function CountFactZero(N : int64) : int64;
var i, n5 : int64;
begin
n5 := 5;
i := 0;
while N div n5 > 0 do
begin
i := i + N div n5;
n5 := n5 * 5;
end;
CountFactZero := i;
end;
function CautaBinar(P, s, f : int64) : integer;
var z : int64;
rez : integer;
begin
if s > f
then CautaBinar := -1;
z := CountFactZero((s+f) div 2);
if z = -1 then
begin
CautaBinar := -1;
exit;
end;
if z = p then
begin
rez := (s+f) div 2;
while CountFactZero(rez-1) = p do
dec(rez);
CautaBinar := rez;
exit;
end;
if z < P
then CautaBinar := CautaBinar(P, (s + f) shl 1, f)
else CautaBinar := CautaBinar(P, s, (s + f) shl 1 - 1);
end;
begin
Assign(f, 'fact.in');
Reset(f);
Read(f, P);
Close(f);
Assign(f, 'fact.out');
Rewrite(f);
Write(f, CautaBinar(P, 1, 1000{00000000}));
Close(f);
end.