leetcode172阶乘后的零-分解质因子
原题链接:
https://leetcode.cn/problems/factorial-trailing-zeroes/
想要一个数的结尾多加一个0 最直观的想法就是 * 10
而10 又可以拆解为 2 * 5 也就是说每多一对 2 * 5 就会多一个10 就会多一个0
所以题目转化求 每一个数中的2和5 的数量 有多少对2 5 则结果在就会尾随多少个0
进一步优化->
由于题目求的是0-n的中数的5 那么有5 就一定会有2 也就是说 只要算出5的个数即可
1 | class Solution: |
进一步优化->
由于0-n中 可能存在前面的数是后面的数的因子 即可能运算出多个重复的5
可以每次直接除5 便可得到当前因子包含5的数量 而这部分5 同样已经在之前被重复运算过了
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 niiish32x 's blog!