1000!の階乗の末尾は何個のゼロがあります
1000を求めます!の結果にはいくつかの0があります.
方法1:5,10,15,20,25(5^2),30,40...,出現因子5の出現回数を順次統計する.最後にいくつかのゼロがあって、10^kで、分解した後に2^k*5^kを得ることができて、このように私達は1000で要求するだけです!の中に出てくる数は、2か5で割り切ればいいのです.
方法2:N/5+N/(5^2)+N/(5^3)+…N/5はN以下の数で1つの因子5に寄与できることを示し、N/(5^2)はN以下の数でもう1つの因子5に寄与できることを示す.
参考:Nの乗算結果の末尾に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がいくつかあります