HappyLeetcode39:Factorial Trailing Zeroes

2764 ワード

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;

    }

};