如果先算出来n!再求,比如辗转除以10,的确能做,但是可能n!会过大
因此,聪明的方法是分开来求
N!每一个因子依此找有多少个2和多少个5,由于2肯定比5多,所以最快捷的方法显然是直接去求5的个数
代码如下,很简单
#include <iostream>
using namespace std;
int main()
{
int m;
cin >> m;
int cnt = 0;
for ( int i = 2; i <= m; i++){
int tmp = i;
while( tmp % 5 ==0){
tmp /= 5;
cnt ++;
}
}
cout << cnt;
return 0;
}