Pagini recente » Cod sursa (job #2527649) | Cod sursa (job #2569553) | Cod sursa (job #2208917) | Cod sursa (job #610024) | Cod sursa (job #1180005)
var n,m,k,p,u,pp:qword;
//aflam numarul de aparitii a lui 5 in n!
function desc(x:qword):qword;
var s:qword;
begin
s:=0;
while x>=5 do
begin
s:=s+x div 5;
x:=x div 5;
end;
desc:=s;
end;
begin
assign(input,'factorial.in');reset(input);
assign(output,'factorial.out');rewrite(output);
readln(pp);
if pp=0 then writeln(1) else
begin
p:=1;
u:=4000000000000000000;
while (p<=u) do
begin
m:=(u+p)div 2;
k:=desc(m);
if k=pp then p:=u+1 else
if k<pp then p:=m+1 else u:=m+1;
end;
if k=pp then
writeln(m-m mod 5) else writeln(-1);
end;
close(input);close(output);
end.