给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.
public class Solution {
public int TrailingZeroes(int n) {
int count = 0;
while (n > 0)
{
count += n/5;
n /= 5;
}
return count;
}
}
这是我的第一版答案(正常人思维): 遇到太大的数G了
public static int TrailingZeroes(int n)
{
int nu = n;
while (nu != 1)
{
nu--;
n *= nu;
}
// n=120 现在求 120后面几个0
//这是到数学题,不要妄想转成字符串
int res = 0;
while (n != 0)
{
int j = n % 10;
n = n / 10;
if (j == 0)
{
res++;
}
else
{
n = 0;
}
}
return res;
}