172. Factorial Trailing Zeroes
Posted whl-hl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了172. Factorial Trailing Zeroes相关的知识,希望对你有一定的参考价值。
1. 问题描述
Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
Tags: Math
Similar Problems: (H) Number of Digit One
2. 解题思路
-
分解质因子, 当且仅当 因子中出现 一对 (2,5)时, 最后结果会增加一个 trailing zero.
1. 2的个数永远多于5个个数.
2. 计算5的个数时, 最简单的方法是 SUM(N/5^1, N/5^2, N/5^3...)
3. 代码
class Solution { public: int trailingZeroes(int n) { if(n < 1) { return 0; } int nCount = 0; while (0 != n/5) { n = n/5; nCount = nCount + n; } return nCount; } };
4. 反思
参考:http://www.cnblogs.com/ganganloveu/p/4193373.html
以上是关于172. Factorial Trailing Zeroes的主要内容,如果未能解决你的问题,请参考以下文章
172. Factorial Trailing Zeroes
172. Factorial Trailing Zeroes
172. Factorial Trailing Zeroes
172. Factorial Trailing Zeroes