首页 > 代码库 > 求n! 末尾有多少个0

求n! 末尾有多少个0

其实是求1到n 每个数的最小质因子有多少个5,有多少个5就有多少个0,因为2的个数明显大于5的个数

#include<iostream>
using namespace std;
int judge(int i){//计算i的最小质因子里有几个5
	int cou=0;
	while(i%5==0){
		cou++;
		i/=5;
	}
	return cou;
}
int main(){
	int n;
	while(cin>>n){
		int cou=0;
		int ans=0;
		for(int i=5;i<=n;i+=5){
			cou+=judge(i);	
		}
		cout<<cou<<endl;
	}
}