https://www.codewars.com/kata/52f787eb172a8b4ae1000a34/train/java
package codewar;
public class Solution{
public static int zeros(int n){
int dividor = 5;
int sum = 0;
while(true){
int i = n / dividor;
if( i < 1){
break;
}
sum += i;
dividor *= 5;
}
return sum;
}
这道题如果使用BigInteger计算出阶乘积,再计算尾零的数目,用时会超限。所以,必须另寻蹊径。
Algorithm:
http://www.purplemath.com/modules/factzero.htm