Skip to main content
Add alternate solution method
Source Link
Carl Woll
  • 131.7k
  • 6
  • 246
  • 359

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

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]]

Check:

maxj[10]

6

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

Source Link
Carl Woll
  • 131.7k
  • 6
  • 246
  • 359

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]]

Check:

maxj[10]

6