Pagini recente » Cod sursa (job #425905) | Cod sursa (job #1396982) | Cod sursa (job #978999) | Cod sursa (job #2892513) | Cod sursa (job #184695)
Cod sursa(job #184695)
const cinci : array[1..13] of longint =
(5,
25,
125,
625,
3125,
15625,
78125,
390625,
1953125,
9765625,
48828125,
244140625,
1220703125);
var
fi,fo: text;
p,x: longint;
function p5(x: longint): longint;
var i,sum: longint;
begin
sum := 0;
for i := 1 to 13 do
sum := sum + (x div cinci[i]);
p5 := sum;
end;
function searchmybin(st,dr: longint): longint;
var m,aux: longint;
begin
if st > dr
then searchmybin := -2
else
begin
m := (st+dr) div 2;
aux := p5(m);
if aux = p
then searchmybin := m
else if p > aux then searchmybin := searchmybin(m+1,dr)
else searchmybin := searchmybin(st,m-1);
end;
end;
begin
assign(fi,'fact.in');
assign(fo,'fact.out');
reset(fi);
rewrite(fo);
read(fi,p);
if p = 0 then begin writeln(fo,0); close(fo); halt end;
x := searchmybin(1,trunc(2e9));
if x > 0 then
while p5(x) = p do
dec(x);
writeln(fo,x+1);
writeln(p5(10));
close(fi);
close(fo);
end.