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; }