文章
119
粉丝
68
获赞
86
访问
19.4k
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
while (cin >> n) {
int ans = 0;
for (int i = 1; i <= n; i++) {
int num = i;
while (num % 5 == 0) {
ans++;
num /= 5;
}
}
cout << ans << endl;
}
return 0;
}
如果你学过奥数,可以知道,阶乘的0的个数,就是5因子的个数,一般来说,直接统计带来的效率提升已经非常高了,但是对于本题的数据量,他仍然是不够的,还需要继续优化
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
while (cin >> n) {
int ans = 0;
while (n > 0) {
n /= 5;
ans += n;
}
cout << ans << endl;
}
return 0;
}
这里用数学公式计算得到结果
登录后发布评论
暂无评论,来抢沙发