100阶乘后有多少个0

思路:对于大数据问题应考虑是否会溢出,先看看5的阶乘有1个0, 10的阶乘有2有0,  遇到5就会产生1个0,  10本身有1个0,照这样到100就是有5,10,15,20,25,30,35.。。。

95,100,共产生21个0,但25=5*5    ,50=5*5*2 ,    75=5*5*3,都含有2个5所以还要加3次就是24个0

代码:

#include <stdio.h>

main()

{

    int i,j,m=0,n;

    scanf("%d",&n);

    for (i=0;i<=n;i++)
    {

        j=i;

        while (j%5==0&&j>0)

        {

            j=j/5;

             m++;

        }

      }

    printf("%d",m);

}

猜你喜欢

转载自blog.csdn.net/onlyoncelove/article/details/81190998
今日推荐