链接:https://www.nowcoder.com/acm/contest/135/D
来源:牛客网
输入描述:
输入数据共一行,一个正整数n,意义如“问题描述”。
输出描述:
输出一行描述答案: 一个正整数k,表示S的末尾有k个0
示例1
输入
复制
10
输出
复制
7
说明
鸣谢真·dalao Tyxao
思路:只有5*2才会出现0,但是此题n的数据范围较大,算每个数阶乘0的个数会T,所以一些不必要的计算要省去(例如6!7!8!9! 这些数的阶乘0个数都与5!的0个数一样,所以记录一下即可)
#include<bits/stdc++.h>
using namespace std;
long long n,ans,te;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
int k=i;
while(k%5==0)
{
te++;
k/=5;
}
ans+=te;
}
cout<<ans<<endl;
return 0;
}