
被问了这个问题,一开始脑子懵了。
最后用 2 去分解 100!,能确定 100! > 2 的 474 次方 ,所以必然大于 2 的 256 次方。
但是总觉得这个办法是笨方法,想看看大家有没有什么更好的方案?
1 coderluan Apr 3, 2020 斯特林公式。 |
2 momocraft Apr 3, 2020 log(N!) 在 N 较大时约等于 N(logN - 1) (斯特林公式) log(10)约等于 2.3 log(2)约等于 0.7 所以 log(100!) 约等于 100 * 3.6 log(2^256) 约等于 256*0.7 |
3 geelaw Apr 3, 2020 “阶乘”,最不具有技巧性的方法是使用 Stirling 公式进行估计。 然而对于这个问题来说 Stirling 公式或者因数分解都是小题大做了,因为 100! >= 8^(100 - 8) = 2^276 > 2^256 。 |
4 kenniewwwww Apr 3, 2020 via iPhone @geelaw 求问第一个不等号是怎么来的阿 |
5 Woodywuuu OP @kenniewwwww 应该是因为 8 之后的数字都可以提取一个 8,并保证>1 |
8 SuperManNoPain Apr 3, 2020 @geelaw 喵啊 |
10 pyfan Apr 3, 2020 @kenniewwwww 那个是 100 的阶乘,不是不等号 |