Given an integer n, return the number of trailing zeroes in n!.

Follow up: Could you write a solution that works in logarithmic time complexity?

Example 1:
Input: n = 3
Output: 0
Explanation: 3! = 6, no trailing zero.

Example 2:
Input: n = 5
Output: 1
Explanation: 5! = 120, one trailing zero.

Example 3:
Input: n = 0
Output: 0

Constraints:

  • 0 <= n <= 10^4

Solution in python:

class Solution:
    def trailingZeroes(self, n: int) -> int:
        def factor(n):
            k = 0
            while n % 5 == 0:
                n //= 5
                k +=1 
            return k
        result = 0
        for i in range(1, n+1):
            result += factor(i)
        return result
最后修改日期: 2021年1月18日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。