TYVJ 1142 阶乘统计3 解题报告
这个题目刚开始因为就是枚举,后来数据太大,不能搜,就想到数学方法了,答案就是n/5+n/5^2+n/5^3,知道5^k > n,就不加了。
代码如下:
#include <stdio.h>
#include <stdlib.h>
long long ans;
int main(int argc, char **argv)
{
int i;
long long j = 5;
long long n;
scanf("%I64d", &n);
for(i = 1; j <= n; i++){
ans += n / j;
j *= 5;
}
printf("%I64d\n", ans);
return 0;
}
浙公网安备 33010602011771号