LintCode 1347

尾随零

题目描述
给定一个整数n,返回n!(n的阶乘)的尾随零的个数。
您的解法时间复杂度应为对数级别。

扫码免费做题
↓↓↓

样例 1
输入: n = 5输出: 1解释:1*2*3*4*5=120
样例 2
输入: n = 10输出: 2解释:1*2*3*4*5*6*7*8*9*10=3628800
解题思路
最终尾随零的数量之和质因子中2和5的数量有关,很容易想到质因子5的数量一定会比2少,所以只需要算出n!的质因子5的数量即可 所以我们考虑1~n!之间5的倍数,25的倍数,125的倍数,625的倍数......的数量,即可算出答案。
源代码
classSolution {publicinttrailingZeroes (int n) {if (n >= 5) {return n / 5 + trailingZeroes (n / 5); } else {return0; } }}
查看完整代码,向左滑动
点击【阅读原文】,查看领扣原题
继续阅读
阅读原文