编写一个程序,该程序将计算给定数阶乘中的尾随零数。 N! = 1 * 2 * 3 *…* N

问题描述 投票:0回答:1

这是我的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;
}
}```

java
1个回答
0
投票

实际上,您不需要计算阶乘,因为它会迅速爆炸成巨大的数,甚至会溢出很长时间。您想要做的是计算5和2的数目,可以将2和n之间的每个数字除以5。

© www.soinside.com 2019 - 2024. All rights reserved.