題目(4星難度):90!末尾一定有許多0,在這一長串0出現之前,最后兩位數字是什么?
輔導方法:將題目寫給小朋友,讓他自行思考解答,
若20分鍾仍然沒有思路,再由家長進行提示性講解。
講解思路:這道題屬於數論問題,計算比較繁瑣容易出錯,解題方法有很多種,
有的方法是對100求余數,有的方法是對25求余數。
過程都需要用到以下兩個知識點:設m,n,p,q,a,b都是正整數,p除以n的余數是a,q除以n的余數是b,
(1)若m=p+q,
則m與a+b除以n的余數相同;
(2)若m=p*q,
則m與a*b除以n的余數相同。
下面我們介紹對25求余數的方法,這種方法利用了連續4個數相乘的性質,
總的解題思路是:第一步對5的整數倍分解因數;第二步考慮最后兩位數是不是4的整數倍;第三步計算當a是5的整數倍時,
a后面連續4個數的乘積除以25的余數;最后把1到90的數分為兩類,分別計算去掉末尾0后除以25的余數。
步驟1:
先思考第一個問題,
對5的整數倍分解因數。
這個問題比較簡單,直接計算即可:
5*10*15*…*85*90
=(5^18)*(1*2*…*18)
=(5^18)*(2^9)*(1*3*5…*17)*(1*2*3*…*9)
=(5^21)*(2^16)*(3^4)*(7*9*7*9*11*13*17)。
步驟2:
再思考第二個問題,
90!去掉末尾連續的0后,
最后兩位非0的數字是不是4的整數倍?
末尾的0都是由5的整數倍產生的,
由於把1到90分解因數后,
2出現的次數遠大於5出現次數,
故末尾連續0的個數等於5出現次數,
也就是步驟1中得到的21。
故90!/(10^21)末尾最后2位數,
就是題目中要求解的數字。
因為2出現的次數遠大於5出現次數,
故90!/(10^21)是4的整數倍,
其最后2位數也一定是4的整數倍。
步驟3:
再思考第三個問題,
當a是5的整數倍時,
計算a后連續4個數的乘積除以25的余數。
不妨設a=5k,
則(a+1)(a+2)(a+3)(a+4)
=[(5k+1)(5k+4)][5k+2](5k+3)]
=(25k^2+25k+4) (25k^2+25k+6),
應用余數的第二個知識點可得,
連續4個數除以25的余數為24=4*6。
步驟4:
綜合上述幾個問題,
考慮原題目的答案。
將1到90的數分為兩類,
第一類是5的整數倍與32;
第二類是其余數字去掉32。
由於32=2^5,
根據步驟1的結論可得,
第一類數字乘積的末尾恰有21個0,
則90!/(10^21)可以分為兩部分計算,
第一部分是(3^4)*(7*9*7*9*11*13*17),
第二部分是第二類數的乘積。
下面計算90!/(10^21)除以25的余數:
第一部分逐個計算,
可得其除以25的余數是9;
第二部分可以看作18個組,
其中第17組缺少32,
其余各組都是連續4個自然數,
{1,2,3,4}{6,7,8,9},…,{86,87,88,89},
結合步驟3的結論可得,
第二部分除以25的余數等於
(24^17)*31*33*34,
由於24^2=576除以25的余數是1,
故(24^17)*31*33*34除以25的余數,
就等於24*31*33*34除以25的余數,
直接計算可得該余數是18。
由於9*18除以25的余數是12,
故90!/(10^21)除以25的余數也是12。
因此90!/(10^21)的末尾兩位可能是:
12,37,62或87。
結合步驟2中4的倍數的結論,
則90!/(10^21)的末尾兩位是12,
由於90!末尾有連續21個0,
所以原題的答案是12。
注:1.在所有求余數的過程中,乘積都不用直接計算,只需計算余數的乘積;
2.原題也可以直接對100求余數,用到(10n+k)(10n+10-k)的末兩位數字就是k(10-k),感興趣的朋友組合計算。
