Just for fun, another possibility is to use InverseFunction:
InverseFunction
Floor@InverseFunction[Factorial][100] (* 4 *)
In[2]:= res = Solve[x! <= 100, x, Integers] Out[2]= {{x -> 0}, {x -> 1}, {x -> 2}, {x -> 3}, {x -> 4}} In[3]:= Max[x /. res] Out[3]= 4
Thank you. I tried something similar to that without luck.