标签:
Think about that.. n! = n * (n-1) * (n-2) ..... *1
Zeros happened when each of them can be divided by 10. And 10 = 2 * 5. 2 is much more than 5 in the number mutilpication. Then just use 5 as the factor.
But one more thing need to notice:
Use n /= 5 for every loop instead of i += 5; It can overflow.
1 class Solution { 2 public: 3 int trailingZeroes(int n) { 4 int result = 0; 5 for (int i = 5; i <= n; n /= 5) { 6 result += n/i; 7 } 8 return result; 9 } 10 };
LeetCode – Refresh – Factorial Trailing Zeroes
标签:
原文地址:http://www.cnblogs.com/shuashuashua/p/4349470.html