100 的階乘末尾有多少個0

2021-06-18 13:17:00 字數 619 閱讀 6929

【題目】今天在網上看到一道題目:100!結果數值中末尾有幾個0?

【分析】計算100!會溢位,所以使用將10分拆為10 = 2x5,在1~100中,尋找2的個數n(比如,4有兩個2),以及5的個數m,結果 x = m > n ? n : m;

【圖表分析】   現在只分析5,

1,2,3,4,5,6,...,25, ...,100

除以5後為:     0,0,0,0,1,0,...,5,...,20,此時有20個5

再對                 1,2,3,...,20進行同樣計算:

除以5後為:    0,0,0,0,1,...,4,此時有4個

因為4 < 5,所以最終結果20 + 4 = 24;

同樣驗證1000!為:

1000/5 = 200

200/5 = 40

40/5 = 8

8/5 = 1

共計:200 + 40 + 8 + 1 = 249個0

同樣考慮2,要遠多於5的存在,

至此,完結

#include

int getfn_1(const int n)

}return counter;

}int main(void)

100階乘末尾有多少個零

題目 1 2 3 100 求結果末尾有多少個零 分析 一般類似的題目都會蘊含某種規律或簡便方法的,階乘末尾乙個零表示乙個進製,則相當於乘以10 而10 是由2 5所得,在1 100當中,可以產生10的有 0 2 4 5 6 8 結尾的數字,顯然2是足夠的,因為4 6 8當中都含有因子2,所以都可看當...

N的階乘末尾有多少個0

例如 n 5,n 120.末尾有1個0.分析 想到這個問題,有人可能第一反應就是現求出n 然後再根據求出的結果,最後得出n 的末尾有多少個0。但是轉念一想,會不會溢位,等等。其實,從 那些數相乘可以得到10 這個角度,問題就變得比較的簡單了。首先考慮,如果n的階乘為k和10的m次方的乘積,那麼n 末...

N的階乘末尾有多少個0

chinawanglun 問題 n的階乘 n 中的末尾有多少個0?例如 n 5,n 120.末尾有1個0.分析 想到這個問題,有人可能第一反應就是現求出n 然後再根據求出的結果,最後得出n 的末尾有多少個0。但是轉念一想,會不會溢位,等等。其實,從 那些數相乘可以得到10 這個角度,問題就變得比較的...