Pagini recente » Cod sursa (job #2248833) | Cod sursa (job #2053959) | Cod sursa (job #2377745) | Cod sursa (job #2391452) | Cod sursa (job #136977)
Cod sursa(job #136977)
const p5:array[1..13] of longint=
(5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125);
var
p:longint;
x:longint;
i,k,j,m:longint;
ok:boolean;
f,g:text;
Function n0(x:longint):longint;
var k,I:longint;
begin
k:=0;
i:=1;
while (x/p5[i]>=1.0) and (i<=13) do
begin
k:=k+ x div p5[i];
i:=i+1;
end;
n0:=k;
end;
begin
assign(f,'fact.in'); reset(f);
readln(f,p);
close(f);
assign(g,'fact.out'); rewrite(g);
if p=0 then write(g,'1')
else
begin
ok:=False;
i:=1; j:=MaxLongInt;
while Not ok And (i<=j) do
begin
m:=(i+j) Div 2;
k:=n0(m);
if k=p then begin
while k=p do begin
m:=m-1;
k:=n0(m);
end;
write(g,m+1);
ok:=True;
end
else if k>p then j:=m-1
else i:=m+1;
end;
if i>j then write(g,'-1');
end;
close(g);
End.