题目描述
n的阶乘后面有多少个0?
6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。
输入
一个数N(1 <= N <= 10^9)
输出
输出0的数量
输入样例
5
输出样例
1
https://www.51nod.com/Challenge/Problem.html#!#problemId=1003
解题思路
求0的数量,0是由2*5构成的,2的数量大于5的数量,所以求出5的数量即为0的数量。用n除以5,求出来的是每隔5个数可以被n整除的数量,再用求出来的数继续除以5,是因为每隔5个数又是5的倍数,需要再加一次,直到为0。
代码
#include<stdio.h>
int main()
{
int n,sum=0;
scanf("%d",&n);
while(n!=0)
{
n=n/5;
sum+=n;
}
printf("%d",sum);
return 0;
}