末尾0的个数
时间限制:1秒
空间限制:32768K
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2
输入描述:
输入为一行,n(1 ≤ n ≤ 1000)
输出描述:
输出一个整数,即题目所求
输入例子1:
10
输出例子1:
2
显然n除以5可得到1~n中包含有一个因子5的个数,但是,1~n中有的数可以被5整除好几次,所以必须将这个数再除以5,得到1~n中包含有两个因子5的个数,依次循环进行累加即可得到全部5的因子个数;
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int cnt=0;
do{
n/=5;
cnt+=n;
}while(n);
cout<<cnt<<endl;
return 0;
}