leetcode 172. 阶乘后的零
题目
给定一个整数 n,返回 n! 结果尾数中零的数量。
解题思路
每个0都是由2 * 5得来的,相当于要求n!分解成质因子后2 * 5的数目,由于n中2的数目肯定是要大于5的数目,所以我们只需要求出n!中5的数目。
C++代码
class Solution { public: int trailingZeroes(int n) { int res = 0; long long k = 5; while(k <= n) { res += n/k; k *= 5; } return res; } };