算法-阶乘尾数零的个数

输入一个正整数n,求其阶乘位数0的个数,比如n为10,输出2,n为100,输出24.

#include <stdio.h>
#include <stdlib.h>
void main()
{
    int i,j,n,c=0;
    scanf("%d",&n);
    for(i=5;i<=n;i++){
        j=i;
        while(j!=0){
            if(j%5==0)
                c++;
            else
                break;
            j/=5;
        }
    }
    printf("%d",c);
}

尾数为0通常都是由于2*5形成的,因为因数2一定比5多,所以只要求连乘的数是5的多少倍即可。

点赞