【发布时间】:2011-12-01 03:13:12
【问题描述】:
考虑逆阶乘函数,f(n) = k 其中 k!是最大的阶乘
【问题讨论】:
考虑逆阶乘函数,f(n) = k 其中 k!是最大的阶乘
【问题讨论】:
ln(k!) 从Stirling's Approximation 开始,然后从那里向后工作。很抱歉没有把整个事情都解决掉;今晚我的大脑似乎没有工作。
【讨论】:
请记住,当我们使用 O(...) 时,常数因子无关紧要,任何增长速度比另一个术语慢的术语都可以被删除。 ~ 表示“成正比”。
如果k 很大,那么n = k! ~ k^k。所以log n ~ k log k,或k ~ log n / log k 或k ~ log n / log(log n / log k) = log n / (log log n - log log k)。因为n >> k 我们可以去掉分母中的项,得到k ~ log n / log log n 所以k = O(log n / log log n)。
【讨论】:
log n 下限太快了。用近似值log n / log k 替换 k 的好技巧。附言k! ~ k^k 不是真的,只有他们的日志才是。