Pagini recente » Cod sursa (job #1307152) | Cod sursa (job #343595) | Cod sursa (job #2241700) | Cod sursa (job #111116) | Cod sursa (job #95455)
Cod sursa(job #95455)
var
fi, fo : text;
p : longint;
p5, n5, s, d, m : int64;
begin
assign(fi,'fact.in'); reset(fi);
assign(fo,'fact.out'); rewrite(fo);
read(fi,p);
if p < 0 then
write(fo,-1)
else
if p = 0 then
write(fo,1)
else
begin
s := 1; d := 5000000000; // cautare binara
repeat
n5 := 0; p5 := 5; m := (s+d) div 2;
while p5 <= m do
begin
n5 := n5+m div p5;
p5 := p5*5;
end;
if n5 < p then
s := m+1
else
d := m-1;
until n5 = p;
while m mod 5 <> 0 do
dec(m);
write(fo,m);
end;
close(fi); close(fo);
end.
1320(5) = 125 + 75 + 10 = 210
1 + 5 + 25
5
5 5 5 5 5
55555555555555555555555555 32 de factori de 5
5
555555555