Pagini recente » Cod sursa (job #869407) | Cod sursa (job #2311371) | Cod sursa (job #2890062) | Cod sursa (job #2707266) | Cod sursa (job #468295)
Cod sursa(job #468295)
program fact;
var f, g:text;
p, x, m, s2, s5, st, dr:longint;
ok:boolean;
function min(a,b:longint):longint;
begin
if a<b then
min:=a
else
min:=b;
end;
procedure verificare;
begin
x:=m;
s2:=0;
while x>0 do
begin
x:=x div 2;
s2:=s2+x;
end;
x:=m;
s5:=0;
while x>0 do
begin
x:=x div 5;
s5:=s5+x;
end;
if min(s2,s5)>=p then
ok:=true
else
ok:=false;
end;
procedure rezolvare;
begin
st:=1;
dr:=maxlongint;
while st<=dr do
begin
m:=st+(dr-st) div 2;
verificare;
if ok then
dr:=m-1
else
st:=m+1;
end;
m:=st;
verificare;
if min(s2,s5)=p then
writeln(g,st)
else
writeln(g,-1);
end;
begin
assign(f,'fact.in'); reset(f);
assign(g,'fact.out'); rewrite(g);
readln(f,p);
rezolvare;
close(f);
close(g);
end.