吳朝陽(yáng)
在計(jì)算機(jī)語(yǔ)言里,每一個(gè)字符都對(duì)應(yīng)一個(gè)編碼,所有字符都有自己的碼值。以前一般使用的是所謂的ASCII碼,現(xiàn)在則發(fā)展成為UNICODE。在ASCII碼和UNICODE中,0-9的碼值、A-Z的碼值、a-z的碼值分別是連續(xù)遞增的碼值區(qū)。因此,知道了0、A及a的ASCII碼值,則這3類(lèi)字符的碼值也就都知道了。由于換行符和空格符也是編程中最常用的字符,因此記住它們與0、A、a的ASCII碼值,將給編程者提供不小的便利。有趣的是,這5個(gè)字符的ASCII和UNICODE碼值相同,它們依次為10、32、48、65和97。5個(gè)碼值中,從O~9這10個(gè)數(shù)字不多不少,恰好各出現(xiàn)1次。
我們今天要談的,是30多年前我還是中學(xué)生的時(shí)候遇到過(guò)的2個(gè)趣味數(shù)字問(wèn)題。同樣有趣的是,它們中的一個(gè)正是從O~9這10個(gè)數(shù)字恰好各出現(xiàn)1次的趣味數(shù)字題。
問(wèn)題一:一個(gè)數(shù)的立方及4次方總計(jì)有10個(gè)數(shù)字,它們正好從0~9各有1個(gè),請(qǐng)問(wèn)這個(gè)數(shù)是多少?
這個(gè)問(wèn)題的答案是18,簡(jiǎn)單計(jì)算很容易得到:l83=5832,l84=104976。在5832和104976這2個(gè)數(shù)中,從0~9的10個(gè)數(shù)字恰好各出現(xiàn)1次。
擱在現(xiàn)在,這個(gè)答案編個(gè)小程序就很容易得到。然而,在連計(jì)算器都沒(méi)有的年代,用紙筆漫無(wú)目標(biāo)地用試算法來(lái)尋找答案是一件很費(fèi)力的事情。因此,用數(shù)學(xué)推理的方法尋找這個(gè)問(wèn)題的答案,不僅是一個(gè)考驗(yàn)推理能力的辦法,也是一個(gè)聰明的辦法。我個(gè)人認(rèn)為,這種數(shù)學(xué)推理方法非常值得學(xué)習(xí),因此我們下面來(lái)重現(xiàn)當(dāng)年的推理過(guò)程。
假設(shè)N是所求的數(shù),即,N的立方及4次方總計(jì)有10個(gè)數(shù)字,恰好從O~9各有1個(gè)。
首先,由于9的4次方小于10的4次方(即10000),故它只有4位數(shù)字。因此,N必然大于9。這就是說(shuō),答案至少是1個(gè)2位數(shù)。
其次,由于N至少是2位數(shù),所以N的4次方至少比N的立方多l(xiāng)位數(shù)字。因此,N的立方最多只能是1個(gè)4位數(shù),而N的4次方則至少是1個(gè)6位數(shù)。
第三,11的立方等于1331,乘以8即超過(guò)10000。也就是說(shuō),22的立方是1個(gè)5位數(shù)。因而由上述第2條可知,N小于22。
第四,17的平方等于289,它小于300。因此289的平方,即17的4次方,將是1個(gè)小于300的平方(即90000)的數(shù)。也就是說(shuō),17的4次方充其量是一個(gè)5位數(shù)。因此據(jù)第2條,我們知道N大于17。
第五,20的立方與4次方的個(gè)位數(shù)都是0,數(shù)字重復(fù)出現(xiàn),因此它不可能是問(wèn)題的答案。同理,我們可以排除21。因此,N必然等于18或19,二者必居其一。
最后,19的平方等于361,它小于400。因此361的平方,即19的4次方,小于160000。由此可知,19的4次方是1個(gè)首位數(shù)字為l的6位數(shù)。由于361平方的個(gè)數(shù)位顯然是l,所以19的4次方出現(xiàn)重復(fù)數(shù)字,它同樣不可能是問(wèn)題的答案。
綜合第三、第四條,我們知道N只能是18、19、20和21這4個(gè)數(shù)中的一個(gè)。而最后2條告訴我們,19、20、21也都不可能是問(wèn)題的答案。因此答案只能是——18。
只需要記得20以?xún)?nèi)自然數(shù)的平方,通過(guò)推理及簡(jiǎn)單的心算就可以獲得上述問(wèn)題的答案,此可見(jiàn)分析推理的威力及重要性。好了,我們不多啰嗦——現(xiàn)在來(lái)看第2個(gè)問(wèn)題。
問(wèn)題二:一個(gè)4位數(shù)2ab2被不小心寫(xiě)成了2ab2,結(jié)果卻恰好與原來(lái)的數(shù)字相等,請(qǐng)問(wèn)這個(gè)數(shù)字是多少?
我們同樣用推理的方法來(lái)解決這個(gè)問(wèn)題。首先,b2小于10的平方,即小于100。但是它與2a的乘積等于2ab2,是一個(gè)大于2000的數(shù)值,因此,2a必須大干20。這樣我們得到第一個(gè)結(jié)論。
a≥5
(1)
其次,29=512。如果a=9,則2ab2大于2900。而2900除以512大于50,所以b2大干50,故有:
b≥8
(2)
現(xiàn)在,我們考慮b=8的可能性。如果b=8,則:
2ab2=2a82=2a+6
據(jù)已知條件,這個(gè)數(shù)的個(gè)位數(shù)等于2。容易證明,對(duì)自然數(shù)n,2n的個(gè)位數(shù)隨n的增加形成2、4、8、6的循環(huán),只有當(dāng)n=4k+l時(shí)的個(gè)位才等于2。因此,據(jù)結(jié)果(1),目前的情況下必然有:
a=7。
然而我們知道,1K的準(zhǔn)確數(shù)值等于1024,它是2的10次方。也就是說(shuō),a=7且b=8時(shí),2ab2等于213。雖然這個(gè)數(shù)的個(gè)位數(shù)等于2,但它等于8K,數(shù)值上遠(yuǎn)遠(yuǎn)超過(guò)小于3000的2ab2。這就是說(shuō),b=8是不可能的。
于是,據(jù)結(jié)果(2),我們得到如下的第3個(gè)結(jié)果。
b=9,并且2a×92=81x2a=2a92
(3)
根據(jù)上述結(jié)果,81×2a的個(gè)位數(shù)等于2,因而2a的個(gè)位數(shù)也等于2。如上所述,此時(shí)有a=4k+l。據(jù)結(jié)果(1),我們有a=5或a=9。
我們前面提到,29=512,所以它與81的乘積大于4000,大大超過(guò)2ab2的最大可能值。因此,我們得到:a=5,即本問(wèn)題的答案是:
a=5,b=9
2592=25×81=2592