n的阶乘后面有多少个0?
6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。
Input
一个数N(1 <= N <= 10^9)
Output
输出0的数量
Input示例
5
Output示例
1
题解:一个数n的阶乘后有多少个0取决于从1到n中2和5的个数,而2的个数远远多于5的个数,只要求出5的个数即可。
可以通过不断除以5直到为0来求5的个数,这样每隔5个数有一个5,每隔25额外多一个5.
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int temp=n/5,sum=0;
while(temp)
{
sum+=temp;
temp/=5;
}
cout<<sum;
}