給一正整數 n
輸出 末尾 0 的個數
計算 的質因數 5 的個數
因為
而質因數 2 的個數一定會 > 5 的個數
所以每個 5 都會使尾部多一個 0
質因數 5 個數
每出現一個 5,就貢獻一個 5 的因數
但有些數會貢獻 多個 5
比如:25, 50, 125, 625…
因此
先數 能被 整除的數 有多少個
再數 能被 整除的數 有多少個
…
再數 能被 整除的數 有多少個
直到
評分結果(參考) : AC (1ms, 300KB)
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, cnt;
while(cin >> n){
cnt = 0;
while(n > 0){
n /= 5;
cnt += n;
}
cout << cnt << "\n";
}
return 0;
}