简要题意:
求 ∏ i = 1 n ∏ j = 1 i j \prod_{i=1}^n \prod_{j=1}^i j ∏i=1n∏j=1ij 的末尾有几个零。
显然,我们对原式进行修改:
∏ i = 1 n ∏ j = 1 i j \prod_{i=1}^n \prod_{j=1}^i j i=1∏nj=1∏ij
= ∏ j = 1 n j ⋅ ( n − j + 1 ) =\prod_{j=1}^n j \cdot (n-j+1) =j=1∏nj⋅(n−j+1)
这是因为每个数 j j j 在所有 ≥ j \geq j ≥j 的阶乘中都被乘了一遍。
下面我们只需要考虑:
末尾零是如何产生的?—— 2 × 5 = 10 2 \times 5 = 10 2×5

博客探讨了洛谷P2388题目,计算序列末尾零的数量。通过分析2和5的组合产生10,指出2的个数大于等于5的个数。主要关注5的个数,定义Fn表示n中5的个数,并计算每个5的倍数对答案的贡献。时间复杂度为O(nlogn),在洛谷评测机上实际运行效率较高。
最低0.47元/天 解锁文章
464

被折叠的 条评论
为什么被折叠?



