Pagini recente » Cod sursa (job #3208478) | Cod sursa (job #734494) | Cod sursa (job #1446759) | Cod sursa (job #1480648) | Cod sursa (job #140047)
Cod sursa(job #140047)
const p5:array[1..13] of longint=
(5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125);
var
p:longint;
{ fara 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:=p;
{ aici }
j:=MaxLOngInt;
while Not ok And (i<=j) do
begin
m:=(i+j) Div 2;
k:=n0(m);
if k=p then begin
while n0(m)=k do
m:=m-1;
write(g,m+1);
ok:=True;
end
else if k>p then j:=m-1
else i:=m+1;
end;
{ aici }
if i>j then write(g,'-1');
end;
close(g);
end.