It is possible to define a function to return your maximum integer. First, note the output of Reduce
for a couple examples:
Reduce[2^j/(j+1) <= 10, j]
Reduce[2^j/(j+1) <= 20, j]
j < -1 || (-Log[2] - ProductLog[-(Log[2]/20)])/Log[2] <= j <= (-Log[2] - ProductLog[-1, -(Log[2]/20)])/Log[2]
j < -1 || (-Log[2] - ProductLog[-(Log[2]/40)])/Log[2] <= j <= (-Log[2] - ProductLog[-1, -(Log[2]/40)])/Log[2]
This suggests that the following function returns your desired values:
maxj[c_] := Floor[(-Log[2]-ProductLog[-1,-(Log[2]/(2c))])/Log[2]]
(Alternatively, we can use the boundary of the inequality to arrive at the same result):
Reduce[2^j/(j+1) == c && j > 0 && c > 1, j]
c > 1 && j == (-Log[2] - ProductLog[-1, -(Log[2]/(2 c))])/Log[2]
Check:
maxj[10]
6