• 沒有找到結果。

的倍數的數字和是

N/A
N/A
Protected

Academic year: 2022

Share "的倍數的數字和是"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)

9 的倍數的數字和是 9 的幾倍

張進安

這個題目聽起來有點像繞口令, 大部分人從小學五年級起就知道 : 『9 的倍數的數字和一 定是 9 的倍數』, 也知道它的充要條件 『數字和是 9 的倍數的數一定是 9 的倍數』。 可是一定 還有很多像我這樣一個學數學、 教數學合起來超過 50 年的人, 卻從來不曾考慮這個問題 — 『9 的倍數的數字和到底是 9 的幾倍?』

對一個大數 n, 如果能在 n × 9 尚未算出積之前, 就有一套公式或方法來直接判斷 9n 的 數字和是 9 的幾倍, 也許就比較像個能掌握整數的人了。 譬如有人先預告說 : 123456789 × 9 的積的數字和只有 9; 而 987654321 × 9 的積的數字和是 81; 不知道會不會先引起你的懷疑, 再激起你的興趣, 這事兒值得拿起計算機驗證一下:

123456789 × 9 = 1111111101, 數字和正好是 9;

987654321 × 9 = 8888888889, 數字和 81 正好是 9 的 9 倍。

顯然 9 的倍數的數字和大小, 和被乘數字串的遞增或遞減有很大的關係。 可是人生際遇的 數常不是如此單調。 例如有名的 Martin Gardner 九位數 381654729, (指 1 到 9 數字各用 一次, 使得前兩位是 2 的倍數, 前三位是 3 的倍數 · · · 依此類推到 9 的唯一解。) 高低起伏變化 大, 乘以 9 的積的數字和恐怕就不太容易掌握了。 好在現代手機的計算器功能強大, 能處理三 十位左右的有效數字; 加上已知這個積的數字和原數字串的遞增或遞減大有關係, 萬事俱備, 應 該可以找到一個公式或通則來嚇大家一跳吧!

為了研究及表達的統一與方便, 我們先定義一個函數:

f(n) = n×9 的數字和

9 .

所以 f (n) 是一個正整數對應到正整數的函數。 例如 f(1957) = 1957 × 9的數字和

9 = 17613的數字和

9 = 1 + 7 + 6 + 1 + 3

9 = 2.

現在我們可以由簡到繁逐步來建立一套規則:

(2)

規則一: n 是常數字串。 (即形如 5, 22, 3333, 777777, 888888888 · · · 等等)。 則 f (a · · · a) = a 的字串個數。

顯然 f (5) = 4 + 5

9 = 1, f (22) = 1 + 9 + 8 9 = 2, f(3333) = 2 + 9 + 9 + 9 + 7

9 = 4,

f(777777) = 6 + 9 + 9 + 9 + 9 + 9 + 3

9 = 6,

f(8888888888) = 7 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 2

9 = 10。

證明如下: 設 a 大於 0, 因為 aa · · · aa × 9 = aa · · · aa × (10 − 1) = aa · · · aa0 − aa · · · aa, 寫成直式為:

a a a · · · a 0

− a a · · · a a (a − 1) 9 9 · · · 9 (10 − a)

.

所以當 n 是連續 k 個相同的非 0 字串 aa · · · aa 時, 上列算式除了最高位之外, 每一位 都必須借位來減, 必有中間連續 k − 1 個 9, 加上首位數 a − 1 及個位數 10 − a, 消去 a 之後, 數字和正好是 k 個 9, 所以 f (a · · · a) = a 的字串個數。

規則二: n 是遞增數列字串 (不必嚴格遞增), (即形如 123, 255566, 677789999 · · · 等等)。 則 f(n) = n 的最大數字字元的個數。 即

f(123) = 1, 最大數字 3 有 1 個;

f(255566) = 2, 最大數字 6 有 2 個;

f(677789999) = 4, 最大數字 9 有 4 個;

簡單的證明如下: 設 n = abcde · · · rs · · · s 為遞增字串, 最大數字 s 連續 k 個。

即 a ≤ b ≤ c ≤ d ≤ · · · ≤ r < s, 也因 r < s 則 s − 1 − r ≥ 0, 所以 n × 9 = n × (10 − 1) = n × 10 − n, 寫成直式為:

a b c d · · · r s s · · · s 0

− a b c d · · · r s · · · s s a (b − a) (c − b) (d − c) · · · (s−1−r) 9 · · · 9 (10 − s)

.

因為 a ≤ b ≤ c ≤ d ≤ · · · ≤ r < s, 所以除了個位數之外, 其餘每一位數都不需借位來減。 因 此這個算式結果的數字和, 自左到右為 (a) + (b − a) + (c − b) + (d − c) + · · · + (s − 1 −

(3)

r) + 9 + · · · + 9 + (10 − s) = 9 + 9 + · · · + 9 = 9 × k, 恰好消去所有符號, 只留下和 s 的 個數相等的 k 個 9 相加, 所以 f (n) = 9 × k

9 = k = 最大數字字元的個數。

規則三: n 是遞減數列字串 (不必嚴格遞減), (即形如 321, 6642211, 9865222000 · · · 等等)。

則 f (n) = n 的非 0 字串位數, 即 f(321) = 3, 3 位遞減;

f(6642211) = 7, 7 位遞減;

f(9865222000) = 7, 非 0 的 7 位遞減。

證明如下: 設 n = abcd · · · xy, a ≥ b ≥ c ≥ d ≥ · · · ≥ x ≥ y > 0, 為遞減的 k 位數, (末尾 的 0 或連續的 0 不用考慮, 應該是很明顯的吧。)

因為 9 × n = n × (10 − 1) = n × 10 − n, 寫成直式

a b c d · · · x y 0

− a b c d · · · x y

(a−1) (10+b−1−a) (10+c−1−b) (10+d−1−c) · · · (10+y−1−x) (10−y) .

因為 a ≥ b ≥ c ≥ d ≥ · · · ≥ x ≥ y > 0, 所以除了最高位的 a 之外, 每一位都必須進行借位 減法, 因此差的數字和自左到右為為 (a − 1) + (10 + b − 1 − a) + (10 + c − 1 − b) + (10 + d−1 − c) + · · · + (10 + y − 1 − x) + (10 − y) = 9 + 9 + · · · + 9 = 9 × k, 恰好消去所有 符號, 所以 f (abcd · · · xy) = 9 × k

9 = k。

到此為止, 你大概可以發現 : 規則一其實就是規則二和規則三的特例, 也是兩條規則的交集, 實 際運用起來才不會產生矛盾。

規則四: 當 n 同時有遞增及遞減字串。 將 n 視為字串的折線, 依遞增及遞減分段, 利用規則二 和規則三, 決定每段的數字和是 9 的幾倍, 逐段累加, 再用規則一減去每一段重疊部分 (包括只 重疊一位數的), 即可求出 f (n) 的值。

舉 n = 1234321 為例說明一下, 是一個倒 V 型的折線, 其中 1234 遞增, 4321 遞減, 重疊的 4 有 1 位, 所以 f (1234321) = f (1234) + f (4321) − f (4) = 1 + 4 − 1 = 4 。

實際驗證 1234321×9 = 11108889, 3 個 1, 3 個 8, 1 個 9, 所以 f (1234321) = 4, 正確無誤。

又如 n = 87655557899, 是一個 U 型的折線, 其中 8765555 遞減, 55557899 遞增, 重疊的 5555 有 4 位, 所以 f (87655557899) = f (8765555)+f (55557899)−f (5555) = 7+2−4 =

(4)

5, 實際驗證 87655557899 × 9 = 788900021091, 兩個 9, 兩個 8 和 1, 1 個 7 和 2, 好 5 個 9, 正確無誤。

再舉一個更複雜的例子, n = 12533338999, 是 N 型的折線, 其中 125 遞增, 53333 遞減, 33338999 遞增, 重疊的 5, 3333 兩段; 所以

f(12533338999) = f (125)+f (53333)+f (33338999)−f (5)−f (3333) = 1+5+3−1−4 = 4.

驗證 12533338999 × 9 = 112800050991, 9 + 9 + (8 + 1) + (5 + 2 + 1 + 1) = 36, 所以 f(12533338999) = 4, 正確無誤。

規則四當然應該證明, 可是 n 的遞增、 遞減、 重疊的各段長度都是不定的, 折線折了幾次 也是不定的, 本應該像數學歸納法的證明那樣, 先證明 n 只有一段折線時, 無論是常數或遞增 或遞減, 都可依規則一、 二、 三之一, 使 f (n) 成立; 並假設 n 有 k 段折線時, f (n) 依規則四成 立; 最後證明當 n 再多出一段折線時, 也能依規則四, 分已完成的 k 段折線和新增的第 k + 1 段折線, 使得 f (n) 成立。 但表達起來太麻煩了, 所以偷懶一下, 這裡只證明由遞增轉為遞減, 及由遞減轉為遞增這兩種基本形式, 為何都要減去中間重疊的那一段。 請特別注意這兩種基本 問題大不一樣, 一種是重複計算要扣除, 另一種是只算一次的也要扣除。

假設 ABC 是由遞增轉為遞減的字串, 其中 B 是重疊的常數字串, 則因為 f (AB) = f(B); 且 BC 是遞減字串, 所以 f (BC) = f (B) + f (C), 顯然 f (ABC) = f (B) + f (C) 而已, 否則若 f (ABC) = f (B)+f (BC) = f (B)+f (B)+f (C), f (B) 重複計算極不合理, 將有可能使 f (ABC) 大於字串 ABC 的位數, 造成矛盾, 所以 f (ABC) = f (B) + f (C) = f(B) + f (BC) − f (B)。

若 BCD 是由遞減轉為遞增字串, 其中C是重疊的常數字串, 因為BC遞減, 則 f (BC) = f(B)+f (C); 且 CD 是遞增字串, 則, f (CD) = f (D), 原以為 f (BCD) = f (B)+f (C)+

f(D) 會成立, 沒想到舉幾個實例計算都失敗了。 例如 f (5433367) = 48900303 的數字和

9 =

3 6= f (54) + f (333) + f (67) 而是等於 f (54) + f (67), 可見重疊的 f (333) 必須扣除, 這將 是本研究最困難的部分, 只好回到最原始的方法了。

設 BCD 為由遞減轉為遞增的字串, 其中 B = b1b2· · · bs, C = cc · · · c (k 個 c), D= d1d2· · · dt。 所以 b1 ≥ b2 ≥ · · · ≥ bs > c < d1 ≤ d2 ≤ · · · ≤ dt

因為 BCD × 9 = BCD × (10 − 1) = BCD × 10 − BCD, 將字串展開寫成直式為:

b1 b2 · · · bs c c · · · c d1 d2 · · · dt 0

− b1 b2 · · · bs−1 bs c · · · c c d1 d2 · · · dt−1 dt

(b−1) · · · (10+c−bs) 0 · · · 0 (d1−1−c) · · · (10−dt) .

(5)

觀察上列算式 B 部分是遞減字串, 由規則三得知此段數字和為 9 × f (B) + c;

觀察上列算式 D 部分是遞增字串, 由規則二得知此段數字和為 9 × f (D) − c;

觀察上列算式 C 部分是常數字串, 但因為 d1 > c, 所以 d1−1 − c ≥ 0, 此項之後的 c − c 都 不必被借位, 將會出現連續 k − 1個 0。

所以 BCD × 9 的數字和為 9 × f (B) + c + 9 × f (D) − c = 9 × f (B) + 9 × f (D), 所以 f (BCD) = f (B) + f (D) = f (BC) + f (CD) − f (C)。

其實由遞增轉為遞減字串也可以用上面的方法來證明, 只是中間重疊的 B 部分, 每一位都 需要借位相減, 將會有 k − 1 個 9, 所以 f (ABC) = f (B) + f (C) = f (B) + f (BC) − f (B) 才得證。 現在我們終於弄明白了, 由遞增轉為遞減的字串, 重疊的常數字串是因為重複計算所以 要扣除; 由遞減轉為遞增的字串, 重疊的常數字串是因為錯一位相減時不必借位, 造成連續的 0 才要扣除。 所以重疊的部分, 不論是波峰或波谷都必須扣除。

規則五: 當 n 的字串中有 0 時, 無論 0 連續幾個, 將每一段的 0 視為斷點, 直接分段再依前述 四條規則計算。 例

f(202003211145) = f (2) + f (2) + f (3211145)

= f (2) + f (2) + f (32111) + f (11145) − f (111)

= 1 + 1 + 5 + 1 − 3 = 5

驗證 202003211145 × 9 = 1818028900305, 所以 f (202003211145) = 5, 正確無誤。

這個規則比較容易明白, 如果 n = A0B, 其中 A 和 B 是字串, 假設 0 是在 10 的 k 次 方位置上, 那麼 B × 9 進位到 10 的 k 次方位的數最多是 8, 和 A × 9 的最低位 (10 的 k + 1 次方位) 毫不相干, 當然數字和可以分段計算了。 不過若不是 0, 就不能當斷點分開; 若不是遞 增或遞減的折線的端點, 也不能用規則四來處理, 否則就不正確了。 例如 f (1233888652) 若拆 成 f (1233) + f (888652) 兩相比較一下:

正確解法 f (1233888652) = f (1233888) + f (888652) − f (888) = 3 + 6 − 3 = 6, 錯誤解法 f (1233888652) = f (1233) + f (888652) = 2 + 6 = 8,

驗算 1233888652 × 9 = 11104997868, 所以 f (1233888652) = 6。

(6)

綜合上述的規則, 我們也可以採取 step by step 的方式, 來觀察 f (n) 的變化:

f(1) = 1 f(12) = 1 f(123) = 1 f(1235) = 1 f(12355) = 2 f(123555) = 3

f(1235556) = 1 — 這裡會變小, 也是令人討厭的地方 f(12355566) = 2

f(123555665) = 3 f(1235556654) = 4 f(12355566548) = 4 f(123555665489) = 4

設 n 的字串為 N , 在 N 的末尾再加一個字元 x, 觀察 f (Nx) 的變化, 可以歸納出一些規律。

對 N 的最後一個字元 s 而言, x 和 s 的大小關係, 將是 f (Nx) 變化的關鍵:

若 x = 0 則 f (Nx) = f (N), 若 x = s 則 f (Nx) = f (N) + 1, 若 x < s 則 f (Nx) = f (N) + 1.

都是很明顯的結果; 只有在 x > s, 且 N 的最後字元是連續的 k 個 s 時, f (Nx) = f (N) − k+ 1, 才是所有變化中的最大麻煩, 也是最令人不滿意的地方。

承蒙數學傳播審稿老師的指導, 我把這個 step by step 的方向反過來, 從最低位值的字元 開始來觀察 f (n) 的變化:

當 a 6= 0 時 f (a) = 1, 且 a × 9 = (a − 1) × 10 + (10 − a), 所以 (a − 1) 將進到下一位, 留下 (10 − a) 在原位值。 考慮 f (ba) 因為 b × 9 = (b − 1) × 10 + (10 − b), 如果進位過來 的 (a − 1) 加上留在原位的 (10 − b) 小於或等於 9, 則 f (ba) = 2。 意思是說 a 和 b 各乘以 9 的數字和, 因為未進位而保留兩個 9 的和; 如果 (a − 1) + (10 − b) ≥ 10, 則 f (ba) = 1 意 思是說 a 和 b 各乘以 9 的數字和因進位而減少了一個 9。 回頭整理這個條件:

(a − 1) + (10 − b) ≤ 9 則 a − b ≤ 0, 即 b ≥ a 時 f (ba) = 2;

所以 b < a 時 f (ba) = 1。

(7)

從這個分析過程, 我們得到一個重要的結論, 甚至可以稱為:

9n 的數字和定理:

f(n) = (n × 9 的數字和)/9 = n 的非 0 字元個數減去加法的進位次數

= n 的非 0 字元自右向左不遞減的次數。

這裡必須說明 : 每一個 n 的非 0 字元乘以 9, 都會得到兩個和為 9 的數, 如果都不進位, 數字和就是 9 的 (n 的非 0 字元個數) 倍; 但因為位值的問題, 當兩個同位值的數的和大於或 等於 10, 就必須進位。 例如 5+7 本來是 12, 進位以後的數字和是 1+2, 只等於 3, 相當於少 了一個 9。 所以我們只要知道 n 的字元個數, 減去 n × 9 過程中加法的進位次數, 就可以得到 f(n) 了。 可是我們原來的目標是, 在不乘開 n × 9 的限制下求出 f (n), 幸好上述 : b ≥ a 時, f(ba) = 2; 及 b < a 時, f (ba) = 1 的證明過程, 清楚的告訴我們, 進位的時機一定發生在

『相鄰的高位值字元小於低位值字元』 時, 所以還是可以在不乘開的條件下判斷出進位的次數。

因為 n × 9 的運算從右到左一固定就不再變動, 所以我們可以得到一個更簡單的方法來處 理這個問題 : 當 f (aN) = k 為已知, 其中 aN 是一字串, a 是此字串的最高位。 在 aN 之前 加一數字 b, 若 b > a 時, f (baN) = k + 1, 若 b < a 時, f (baN) = k。 若 b = a 且 a 在字 串自右算起為遞增狀態, 則 f (baN) = k + 1; 若 b = a 且 a 在字串自右算起為遞減狀態, 則 f(baN) = k。

這個定理的運作方式很簡單, 從 f (n) 的 n 的右邊先加個 0 (個位), 開始向左計數, 每遇 到一位遞增或相等就加 1, 如果左邊的數字比較小就不加, 直到最後一位, 計數到多少 f (n) 就 是多少了。 以前一個問題為例:

f(123555665489) = f (123555 6 6 5 48 9 0) = 4,

其中 0 到 9 遞增一次, 4 到 5 遞增一次, 5 到 6 遞增一次, 6 到 6 相等 (視為) 遞增一次, 所 以計數為 4。 被圈起來的 6659 四個數, 只是作為遞增或相等的記號而已, 你可以用自己喜歡的 方式來標記。

現在我們可以來計算一下, 有名的 Martin Gardner 九位數 381654729 乘以 9 的數字 和是 9 的幾倍了。

f(381654729) = f (3 8 1 6 5 4 7 2 9 0) = 5.

驗證 381654729 × 9 = 3434892561, 就算用計算機按出這個答案, 恐怕你也懶得加起來了吧!

回顧這個定理 『f (n) = n 的非 0 字元個數減去加法的進位次數』, 你會發現原來的規則 一、 二、 三、 四、 五, 都只是它的推論而已, 而我卻花了很多工夫在這些規則的證明, 這是研究時

(8)

出發點的問題。 在數學發展的歷史上, 這應該是常見的現象, 不能視為徒勞無功, 就像有了餘弦 定理, 卻沒有人忘記畢氏定理的證明一樣。 所以我還是保留這些只是推論的規則, 讓讀者知道這 個問題發展的過程。

9 的倍數的種種性質一直都是數論中有趣的問題, 如果不想玩得太複雜, 只用規則二和規 則三就可以設計出很有趣的數學遊戲。 例如 f (11223344556677889) = 1, 意味著

11223344556677889 × 9 = 101010101010101001,

就能使中小學生睜大眼睛了 (好多 101 阿!)。 讓高中生用 1 到 8 隨機寫一個遞增的 29 位數, 老師再加上一個 9 到末尾, 乘以 9 之前, 全班來估計這個有 31 位數的積, 0 到 9 各個數字各 出現多少次, (這裡恐怕不隨機了)。 別懷疑! 當然很不平均, 數字 0 出現的比率會大得出乎意料, 其餘數字少的可憐, 還可以保證不會出現 9 這個數字。 (因為數字和只有 9 嘛!) 如果改玩遞減 的字串, 老師甚至可以連一個數字都不加, 哪一個數字出現的機率最高應該很清楚了吧!

再如 f(6777777777) = 9, f(7777777776) = 10, f(7777777777) = 10, 但 f(7777777778) = 1, 意味著

6777777777 × 9 = 60999999993 數字和很大,

7777777776 × 9 = 69999999984 數字和很大, 6 在頭在尾只差一個 9;

7777777777 × 9 = 69999999993 數字和很大,

7777777778 × 9 = 70000000002 數字和很小, 為何一落千丈?

(其實看成上一式的 69999999993 加 9 還比較清楚), 或者可以當一個數學問題中 『差之毫釐失之千里』 的例子。

從證明過程中還可發現, 規則二有一個有趣的性質, 例如 f (123555555) = 6, 不只知道 123555555 × 9 的數字和是 54, 還能確定積的倒數 2 到 6 位數字都是 9, 累加數字和的時候 其實是很快的。 請看 123555555 × 9 = 1111999995, 是不是一切都在掌握之中呢!

希望你可以利用這個結果, 設計更多有趣的遊戲來提高學生對數學的興趣。

後記與推論

本文的主題 『9 的倍數的數字和是 9 的幾倍』 決定於 n 的字串的遞增遞減位數及序列。

根據定理, 如果 n 和 m 的遞增遞減位數及序列完全相同, 則 f (n) = f (m) 必然是成立的。 例 如 f (1232) = f (1573) = 2。 感謝數學傳播審稿老師的指正, 使這些證明更精簡。 但這個定理

(9)

只限於 9 的倍數嗎? 顯然關鍵在我們用的是十進位, 所以當我們把問題推廣到任意 k 進位 (當 然 k ∈ N , k ≥ 2), 在 k 進位的系統下, n 的 (k − 1) 倍的數字和當然是 (k − 1) 的倍數, 而 且這個倍數是幾倍的算法, 應該準用本文的定理和五個規則。 經推廣後可以下這樣的結論 : 『在 k 進位系統中, n 的 (k − 1) 倍的數字和是 (k − 1) 的幾倍, 決定於 n 字串由右向左的遞增次 數。』 因為在本文的證明中, 最重要的借位減法過程, 或加法的進位情形, 對所有的 k 進位系統 都是成立的。 例如我們可以說 : 在八進位的系統中, n 的 7 倍的數字和一定是 7 的倍數, 而且 是 7 的 (n 的非 0 字元個數減去加法進位的次數) 倍。

參 考資料

1. Arthur Benjamin 著, 王君儒 譯。 數學大觀念。 貓頭鷹出版社。

—本文作者為高雄市中正高中退休教師—

參考文獻

相關文件

正本:高雄市立高雄高級中學、高雄市立左營高級中學、高雄市立前鎮高級中學、高雄

Kline) 的名著 Mathe- matics in Western Culture 於 1953 年在 美出版後, 多次再版, 深受西方文化界、 數學 界歡迎。 九章出版社於民國 84 年 9 月推出中 譯本, 譯者張祖貴。 譯作文字順暢、 嚴謹,

今年大學聯招的數學考試, 分數普遍提 高了, 論者一般都認為將對高中的數學教育 帶來正面的效應, 他們的意思也是在說如果 考試的分數普遍低落, 將影響學生作數學的 意 願,

正本:復興國中 王秀梗老師、高雄中學 蔡受勳老師、國立高雄師範大學、國立成功大

正本:高雄市立高雄高級中學、高雄市立左營高級中學、高雄市立前鎮高級中學、高雄

正本:高雄市立高雄高級中學、高雄市立左營高級中學、高雄市立前鎮高級中學、高雄

自然數的組合積的和及其應用, 趙建林、 王慧 敏著,

顯 得過於籠統, 難以對數學概念的特徵作出 較精確的刻畫。 譬如, 按 Ausubel 的分法, 數 學概念 (特別是高等數學中的概念) 多是二級 概念, 於是對眾多的數學概念而言, 這種分類