1, 题目

给定一个整数 n,返回 n! 结果尾数中零的数量。

示例 1:

  1. 输入: 3
  2. 输出: 0
  3. 解释: 3! = 6, 尾数中没有零。

示例 2:

  1. 输入: 5
  2. 输出: 1
  3. 解释: 5! = 120, 尾数中有 1 个零.

说明: 你算法的时间复杂度应为 O(log n) 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2, 算法

  1. object Solution {
  2. def trailingZeroes(n: Int): Int = {
  3. var count = 0
  4. var x = n
  5. while (x != 0) {
  6. count += x / 5
  7. x /= 5
  8. }
  9. count
  10. }
  11. }
  1. class Solution:
  2. def trailingZeroes(self, n: int) -> int:
  3. count = 0
  4. while n != 0:
  5. count += n // 5
  6. n //= 5
  7. return count