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;

    }

};

你可能感兴趣的:(LeetCode)