2013年4月1日

小學算術三題

作者/游森棚

我小學三年級最喜歡的一本書是《數學謎題》,裡面羅列了眾多讓人眼睛一亮的漂亮算式和有趣問題。這個月跟幾個學生複習初等數論,回憶了一些年少的樂趣,底下就從記憶中蒐羅出幾個印象深刻的,和讀者分享。

湊100
用1、2、3、4、5、6、7、8、9 按此順序,最少用三個加減號就可以湊出100:
123 - 45 - 67 + 89 = 100

讀者還能找到其他的嗎?

這是給小學生練習加減的好問題。這個算式後來被資訊大師高德納(Donald Ervin Knuth)寫進他的巨著《電腦程式設計藝術》(The Art of Computer Programming) 第四冊中,當作一個利用到葛雷碼(Gray Code)遍歷的習題。高德納問,只用加減號,數字順序不能變,湊不出來的最小正整數是多少?答案是211。也就是說,1 到210 都可以湊得出來(讀者可以試試看!)。此外,共有12 個方法可以湊出100,例如:

1 + 23 - 4 + 5 + 6 + 78 - 9 = 100
- 1 + 2 - 3 + 4 + 5 + 6 + 78 + 9 = 100

Knuth 又問,如果換成用9、8、7、6、5、4、3、2、1、0,湊不出來的最小正整數是多少?答案是240。最後他問,如果用1、2、3、4、5、6、7、8、9、8、7、6、5、4、3、2、1,則湊不出來的最小正整數是多少?

答案是16040,而且有60318 種方法可以湊成100,其中的一個方法是:
- 1234 - 5 - 6 + 7898 - 7 - 6543 - 2 - 1 = 100

洗牌
另一個印象深刻的問題是洗牌。洗牌時把牌分成左右兩堆, 然後左一張右一張交錯相疊。但是實際上洗牌並不會愈洗愈亂——比如有八張牌,則12345678 → 15263748 → 13572468 → 12345678,洗三次就回來了。書上的問題是:一副52 張牌要洗幾次才能回來呢?

小學生不會把問題轉成用字串思考。我拿了一副牌拼命洗,但是牌太多很容易亂掉,總之費了一些功夫後有找到答案,讀者可以先試試看再往下讀。有沒有一般的理論?一般來說偶數張牌要洗幾次呢?實驗一下,2、4、6、8……20張牌所需要的洗牌次數是1、2、4、3、6、10、12、4、8、18,看起來沒什麼規律。但規律是有的,和數論上的「秩」(order)有關。【更詳細的內容,請參閱第520期科學月刊】

沒有留言: