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);

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章