- 阶乘后的零
给定一个整数 n,返回 n! 结果尾数中零的数量。
来源:力扣(LeetCode)
执行用时:32 ms
, 在所有 Java 提交中击败了5.03%的用户
内存消耗:
35.1 MB, 在所有 Java 提交中击败了93.05%的用户
public static int trailingZeroes(int n) {
int a=1;
int b=0;
while(n>0) {
a*=n;
while(a%10==0) {
b++;
a/=10;
}
a=a%100;
n--;
}
return b;
}
改进:
执行用时:
1 ms, 在所有 Java 提交中击败了95.23%的用户
内存消耗:
35 MB, 在所有 Java 提交中击败了98.29%的用户
public static int trailingZeroes(int n) {
int a=1;
int b=0;
while(n>a) {
a*=5;
b+=n/a;
}
return b;
//算法思想参考题解,每个包含5因子都可以创造0
}