HappyLeetcode39:Factorial Trailing Zeroes

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

Note: Your solution should be in logarithmic time complexity.

这个是我的代码,但是超时

class Solution {
public:
    int trailingZeroes(int n) {
        if (n <= 4)
            return 0;
        int count = 0;
        int multi = 1;//计算所需内容累乘的积
        for (int i = 5; i <= n; i += 5)
        {
            multi *= i;
            while (multi % 5 == 0)
            {
                multi /= 5;
                count++;
            }
        }
        return count;
    }
};

网上抄的别人的答案

class Solution {
public:
    int trailingZeroes(int n) 
    {
    int c = 0;
    for( ; n > 4; c += (n/=5) );
    return c;
    }
};

class Solution {
public:
    int trailingZeroes(int n)  
    {
    int c = 0;
    for( ; n > 4; c += (n/=5) );
    return c;
    }
};

原文地址:https://www.cnblogs.com/chengxuyuanxiaowang/p/4194577.html