输入格式
输入正整数n
输出格式
输出个数
样例
Sample input
2015
Sample Output
502
题目思路:
尾部零,就是看乘积中能组成10的个数有多少种,可以是1*10、2*5。我们在前N个数中,能够拆分得到2的个数比5多,然后我们只要看有多少个数能拆分得到5就行了,这样恰好就包含了1*10的情况。
这样这个问题就变成了前N个数中有多少个数能拆分得到5,还是有点麻烦,不够简洁。
我们草稿纸上画一个1~N的坐标轴,看看有多少个能分成多少个长度为5的段,再看看有多少个能分成多少个长度为5*5的段.......(以此类推,直到大于长度大于N)。
将每次计算得出答案的总和就是我们的答案了。
代码:
#include <stdio.h> int main() { int n, s = 0, t = 1; scanf("%d", &n); while (t <= n) { t = t * 5; s = s + n / t; } printf("%d\n", s); return 0; }
此题为分支,根部网址: https://www.cnblogs.com/Attacking-vincent/p/12721609.html