本人初学者,请大神给写个小程序。语言不限

本人菜鸟,请大神给写个小程序。。。语言不限
请写一段程序计算n的阶乘末尾有多少个0,例如5! = 120 末尾有1个0,10!= 3628800末尾有2个0。

------解决方案--------------------
楼上代码正解~
思路:0 的出现总是由 5*2 得来的,而每次出现含5因子的数时总有大于5因子个数的2存在,所以求n!有多少个0结尾就是求 1-n 中有多少个5因子!
------解决方案--------------------
二楼高见!膜拜二楼!
发下我写的代码!新手,帮顶的!
C/C++ code

#include<stdio.h>
long Factorial(int);
int ZeroNum(long);
int main()
{   
    int n;
    long fac;
    int count;
    printf("请输入n值:");
    scanf("%d",&n);
    fac=Factorial(n);
    count=ZeroNum(fac);
    printf("%d的阶乘为%d,它末尾有%d个0\n",n,fac,count);
    return 0;
}

long Factorial(int n)
{   
    long fac=n;
    while(n>1)
    {  
       --n; 
       fac=fac*n;      
    }
    return fac;
}

int ZeroNum(long fac)
{
    int count=0;
    while(fac%10==0)
    {
       ++count;
       fac=fac/10;
    }
    return count;
}

------解决方案--------------------
我是来膜拜二楼的