Pagini recente » Cod sursa (job #2164717) | Cod sursa (job #801283) | Cod sursa (job #2441965) | Cod sursa (job #1762103) | Cod sursa (job #250660)
Cod sursa(job #250660)
const fin='fact.in';
fout='fact.out';
var p,pnou,plo:longint;
n,li,lo:int64;
f,g:text;
function calculare(n:int64):longint;
var nr0:longint;
begin
nr0:=0;
while n <>0 do
begin
nr0:=nr0+n div 5;
n:=n div 5;
end;
calculare:=nr0;
end;
procedure binar(li,lo:int64);
var mij:int64;
begin
if li=lo then begin
if p=calculare(li) then
n:=li
else
n:=-1;
exit;
end
else begin
mij:=(li+lo) shr 1;
if mij mod 5<>0 then
mij:=mij-2;
pnou:=calculare(mij);
if p=pnou then begin
n:=mij;
exit;
end;
if p<pnou then
binar(li,mij)
else binar(mij+1,lo);
end;
end;
begin
assign(f,fin);
assign(g,fout);
reset(f);
readln(f,p);
close(f);
if p=0 then
n:=1
else begin
li:=5;
lo:=25;
plo:=6;
while plo<=p do
begin
li:=lo;
lo:=lo*5;
plo:=plo+lo div 5;
end;
binar(li,lo);
end;
rewrite(g);
if n-1 mod 5=0 then
writeln(g,n-1)
else writeln(g,n);
close(g);
end.