判断一个数阶乘N!的尾数中零的个数



/*
由于尾数及数据类型的在计算机中的存储大小有限,所以在求尾数0的个数时,
我们采取间接的方式:尾数0的出现于5和2或2的倍数(2 4 6 8)有关;由于2或2的倍数太多

故检查这些数中能被5整除的数的个数加起来就是尾数零的个数

//10!=3628800;求出尾数中零的个数为2

10!=1*2*3*4*5*6*7*8*9*10
这些数中,只有5和10能使尾数中0的个数加1;
*/
#include
#include

int main(void)
{
    int x, i,sum = 0;
    printf("请输入x值:");
    scanf("%d",&x);
    for (i = 1; i <= x;i++)
        if (i % 5 == 0)
            sum++;
    printf("%d的阶乘的尾数中有%d个零\n", x,sum);
    system("pause");
    return 0;
}



你可能感兴趣的:(c)