Мое любимое доказательство этого очень элементарно.
N!= 1 * 2 * .. * N - 1 * N
Мы можем очень легко опустить нижнюю границу, представив, что первая половина этих продуктов не существует, а затем, что вторая половина всего лишь N/2.
(N / 2) ^ (N / 2) <= N! </p>
log ((N / 2) ^ (N / 2) = N / 2 * log (N / 2) = N / 2 * (log (N) - 1) = O (n log n)
Таким образом, даже если вы берете только вторую половину выражения и делаете вид, что все эти факторыне больше N / 2, вы все еще находитесь на территории O (n log n) для нижней границы, и это супер элементарно. Я могу убедить среднестатистического ученика в этом. Я не могу даже вывести формулу Стирлинга самостоятельно.