tft每日頭條

 > 職場

 > 小數的除法面試真題

小數的除法面試真題

職場 更新时间:2024-06-29 15:12:28

大數階乘問題,是很常見的,來看一下T公司的面試題目:

問題一:

1000的階乘末尾有多少個0?

問題二:

1000的階乘有多少位數?

問題三:

1000的階乘的值是多少?

1000的階乘末尾有多少個0?

直接遞歸計算嗎?有點天真了。1000的階乘,是一個非常大的數字,得想其它辦法了。注意:要求的是1000的階乘末尾的0的個數,而不是求1000的階乘。

喜歡編程的小夥伴可以加小編的Q群1026782549,進群可以領取免費的學習資料跟源代碼哦!也可以關注小編的編程雯子,領取資料哦

很顯然,從分解質因數的過程來看,結尾的0必然是2和5的乘積,而且在階乘中,5是稀缺值,而2是富餘值,所以,隻需要知道質因數中5的個數就行了。我們以26的階乘為例:

小數的除法面試真題(筆試面試題目1000的階乘問題)1

可見:其中有6個5,有充足的2,所以隻需要看5的個數。易知,26的階乘的末尾有6個0. 用階乘計算器來看下,果然如此:

小數的除法面試真題(筆試面試題目1000的階乘問題)2

我們來讨論更一般的情況:

設f(x)是x中因數5的個數, [x]為x向下取整的值,則有:

小數的除法面試真題(筆試面試題目1000的階乘問題)3

所以:

小數的除法面試真題(筆試面試題目1000的階乘問題)4

至于程序,給個遞歸版本吧:

小數的除法面試真題(筆試面試題目1000的階乘問題)5

結果:249. 可見,1000的階乘末尾有249個0.

喜歡編程的小夥伴可以加小編的Q群1026782549,進群可以領取免費的學習資料跟源代碼哦!也可以關注小編的編程雯子,領取資料哦

1000的階乘有多少位數?

直接遞歸計算嗎?有點天真了。我們來看下如下規律:

小數的除法面試真題(筆試面試題目1000的階乘問題)6

設f(x)為x的數位個數,[x]為x向下取整的值,則有:

小數的除法面試真題(筆試面試題目1000的階乘問題)7

至于程序,那就很簡單了:

小數的除法面試真題(筆試面試題目1000的階乘問題)8

結果:2568. 可見,1000的階乘有2568位。

1000的階乘的值是多少?

直接遞歸計算嗎?有點天真了。 還是用字符串來做吧:

小數的除法面試真題(筆試面試題目1000的階乘問題)9

小數的除法面試真題(筆試面試題目1000的階乘問題)10

結果是:

小數的除法面試真題(筆試面試題目1000的階乘問題)11

可以看到,1000的階乘有2568位,且最後有249個0.

喜歡編程的小夥伴可以加小編的Q群1026782549,進群可以領取免費的學習資料跟源代碼哦!也可以關注小編的編程雯子,領取資料哦

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关職場资讯推荐

热门職場资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved