程序通过找出1~100之间的所有整数中包含5这个因子的个数来求解。如100=5*5*4含5的因子个数为2,在求阶乘的过程中末尾产生两个0。
- #include <iostream.h>
- #include <stdio.h>
- int CountZero(int n)
- {
- if (n < 5)
- {
- return 0;
- }
- int i,m = 0,k = 0;
- for (i = 5; i <= n;)
- {
- m = i;
- while (m%5 == 0) //能被5整除
- {
- m = m/5;
- k++;
- }
- i += 5; //增加5
- }
- return k;
- }
- int main()
- {
- int i = 100;
- printf("%d! include %d '0'",i,CountZero(i));
- return 0;
- }