题目描述
请设计一个算法,计算n的阶乘有多少个尾随零。
给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数。
测试样例:
5
返回:1
思路:有多少个0,就是计算有几对5和2的乘积。由于2的数量始终比5大,那么最后只要数出5的个数就可以。
直接求 N=(n/5)+(n/25)+...+(n/(5^i)) (i=1,....直到5^i>N)
import java.util.*;
public class Factor {
public int getFactorSuffixZero(int n) {
// write code here
int count = 0;
while(n!=0){
count+=n/5;
n/=5;
}
return count;
}
}