1000!の階乗の末尾は何個のゼロがあります


1000を求めます!の結果にはいくつかの0があります.
方法1:5,10,15,20,25(5^2),30,40...,出現因子5の出現回数を順次統計する.最後にいくつかのゼロがあって、10^kで、分解した後に2^k*5^kを得ることができて、このように私達は1000で要求するだけです!の中に出てくる数は、2か5で割り切ればいいのです.
public static int FindZero(int n){
	int sum = 0;
	for(int i = 5;i<=1000;i++){
		int num = i;
		while(num%5==0){
			num /=5;
			sum++;
		}
	}
}

方法2:N/5+N/(5^2)+N/(5^3)+…N/5はN以下の数で1つの因子5に寄与できることを示し、N/(5^2)はN以下の数でもう1つの因子5に寄与できることを示す.
int find(int n){
	int sum = 0;
	while(n/5!=0){
	    n /= 5;
		sum += n;
	}
}

参考:Nの乗算結果の末尾に1000個のゼロが含まれているかを計算します.最後に0がいくつかあります