这是我的Codewars问题(Java)的代码,但我无法使其正常工作。我很确定由于缺乏经验(编码4个月),在某个地方犯了一个愚蠢的错误]
public static int zeros(int n) {
int f = 1;
int zerocount = 0;
for(int i = 0 ; i <= n; i++){
f *= i;
}
String factorial = String.valueOf(f);
String split [] = factorial.split("");
for(int i = 0; i < split.length;i++){
String m = split[i];
if(m == "0"){
zerocount += 1;
}
else {
zerocount = 0;
}
}
return zerocount;
}
}```
实际上,您不需要计算阶乘,因为它会迅速爆炸成巨大的数,甚至会溢出很长时间。您想要做的是计算5和2的数目,可以将2和n之间的每个数字除以5。