n!结尾几个零问题,求大神解答

计算n!计算结果末尾有几个0,这个用c语言怎么编谢谢,求大神解释啊啊啊啊!………………

计算n!有多少个5,就有多少个0
比如

5! = 5 * 4* 3 *  2 * 1 = 120(有一个5)
15! = 15 * 14 * 13 * 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
        = 5 * 3 * ..... * 5 * 2 ..... * 5 *.....
                =1307674368000(有3个5)

#include<stdio.h>
void main(){
    int i = 0; 
    int n = 10;
    int count = 0;
    int j = 0;
    for(i = 5 ; i <= n ; i++){
         j = i;
         while(j % 5 == 0){
             count++;
             j /= 5; 
         }
    }
    printf("%d\n",count);
}

先写一个递归的函数,得出n!的结果
然后将计算的结果除10,只要余数是0,也就是能除尽10,计数加一,然后继续除,直到余数不为0,也就是不能被10除尽,这个结果的最后一位不是0了,就退出循环