d122
輸入說明 :
输入档可能有大量的数据。 每一个输入档输入一个不算很大的数 n (请用 longint)。
輸出說明 :
输出 n!的末尾零的个数。
有一個0表示,有一個10的因數,10是2*5,
階層是連續的數字相乘,所以每兩個數字就會有2
因此只要算有幾個五就好了
比如說100!
100/5=20 表示有一個5為因數的數字有20個
但是25,50,75,100 雖然它們有被算進20裡面,但是它們有兩個5 100/25=4 表示有兩個5為因數的數有4個
所以1~100相乘總共有24個5
代表有24個零
#include<stdio.h>
int main()
{
long long int n;
while(scanf("%d",&n)!=EOF)
{
long long int sum= 0;
long long int i;
for(i=5; i<=n; i*=5)
{
sum += n/i;
}
printf("%d\n",sum);
}
}