1.9 神秘的六六大順數
有一個非常奇特的6位整數m,它由不同的6個數字組成;m的2倍也是由這6個數字組成;m的3倍也是由這6個數字組成;以至m的4,5,6倍也都是由這6個數字組成。因而,這一奇特整數被披上許多神秘的色彩,說是某一寺廟留傳下來的,甚至說是在埃及金字塔發現的。
鑒于這一整數是6位數,又有其2~6倍整數由同樣數字組成的特性,不妨稱為“六六大順數”。
本節應用逐位推理探求神奇的“六六大順數”,并經拓展得到該數的令人驚奇的“插9”特性。
1.9.1 推理揭開神秘面紗
【問題】 推理探求神秘的“六六大順數”。
【探求】 應用“排除法”推理,逐位確定。
顯然,所探求的6位數的6個數字互不相同,且不可能有數字0。
設所求的6位整數m為abcdef(每一字母代表一個非零數字)。
下面通過“排除法”推理,層層揭開其神秘的面紗。
(1)顯然首位數字a=1,否則m的5倍、6倍超過6位數。
(2)試用排除法確定個位數字f。
注意到m的個位數字f(≠1)分別乘2~6的積的個位數字,應為m中除個位數字f之外的其余5個數字a,b,c,d,e。
①數字f不能為偶數,否則乘2~6的積的個位數字均為偶數,不含1。
②f≠3,因3乘2~6的積的個位數字分別為6,9,2,5,8,也不含1。
③f≠5,因5乘2~6的積的個位數字出現0。
④f≠9,因9乘2~6的積的個位數字分別為8,7,6,5,4,也不含1。
因而確定6位整數m的個位數字f=7。
(3)確定組成m的6個數字。
個位數字f=7分別乘2~6的積,其個位數字分別為4,1,8,5,2,因而這5個數字另加上個位數字7構成m的6個數字。
整數m的6個數字從小到大排列為1,2,4,5,7,8。
m乘2所得積的首數字即最高位數字為2;
m乘3所得積的首數字即最高位數字為4;
m乘4所得積的首數字即最高位數字為5;
m乘5所得積的首數字即最高位數字為7;
m乘6所得積的首數字即最高位數字為8。
(4)確定m的數字分布。
上面已確定m為1bcde7,其中數字b,c,d,e將在2,4,5,8中逐步確定。
①首先確定b=4。
若b為5,8,將導致m乘2積的首數字大于2,矛盾;
若b為2,則m乘3積的首數字小于4,導致矛盾。
因而唯有b=4,即有m=14cde7。
②其次確定c=2。
若c為5,m只有145287與145827兩種可能。
因145287×2=290574,出現0;145827×2=291654,出現數字9,均導致矛盾。
若c為8,m只有148257與148527兩種可能。
因148257×2=296514,出現數字9;148527×2=297054,出現0,均導致矛盾。
因而唯有c=2,即有m=142de7。
③最后確定d=8,e=5。
由142587×3=427761,出現數字重復導致矛盾。
因而,神奇6位數的神秘面紗揭開:m=142857。
(5)驗證(此步不可省略)。
由m=142857,驗證m的2~6倍均由組成m的6個數字組成。
142857×2=285714 142857×3=428571
142857×4=571428 142857×5=714285
142857×6=857142
驗證通過。太神奇了!
更神奇的是142857×7=999999。
(6)奇妙的循環小數。
分數1/7~6/7都是循環節(以[]界定)為6位的循環小數,如下所示。
1/7=0.[1 4 2 8 5 7]
2/7=0.[2 8 5 7 1 4]
3/7=0.[4 2 8 5 7 1]
4/7=0.[5 7 1 4 2 8]
5/7=0.[7 1 4 2 8 5]
6/7=0.[8 5 7 1 4 2]
欣賞以上6個分數的結果,是自然,還是巧合?
1.9.2 奇妙的“插9”特性
編程拓展:試搜索一般的w(1<w<10)位整數m,它由不同的w個數字組成,同時整數m的k(2~w,k≤6)倍整數都是m的變序數(即m的組成數字通過不同排列所得整數)。
輸入位數w,搜索所有滿足以上倍數特性的整數m。
1. 設計要點
根據輸入的位數w,確定其倍數的最大值p:p=w;當w>6時p=6。
同時,通過自乘得最小的w位整數t,建立m(t~(10t-1)/p)循環枚舉w位整數。
為了方便判別整數m的組成數字與其k(2~p)倍整數n的組成數字相同,設置f,h兩個數組,f數組統計m組成數字的頻數,h數組統計m的倍數n組成數字的頻數,如果這兩個數組出現某數字頻數不同或存在重復數字,即滿足以下條件
f[j]?。絟[j]||f[j]>1?。╦=0,1,…,9)
則退出返回。否則,輸出滿足題意的整數m與其各倍數n。
2. 程序設計

3. 程序運行示例與說明

若輸入w=6,則輸出“六六大順數”142857及其2~6倍的變序數式。
以上w=7的第一個輸出結果是平凡的,實際上是“六六大順數”的尾部加0。
運行程序,輸入w=2~5,沒有相應的輸出,說明當w<6時,不存在w位整數m,其k(2~w)倍積的組成數字與m的組成數字相同。
4. 發現“插9”特性
以上運行程序輸入w=7的第二個輸出結果,實際上是在w=6的結果即“六六大順數”142857的正中“插9”所得,這給出非常明確的啟迪。
(1)“插9”特性與條件。
事實上,9乘以k(2~9)所得積分別為18,27,36,45,54,63,72,81,這些積有個共同的規律:十位數字與個位數字之和為9。
“插9”特性:如果乘積式中乘數的某一位的進位數與相應乘9的進位數相同,則此處可插入9,相應的積也插入9,等式仍然成立。
這里,能“插9”的條件為“乘積式中乘數的某一位的進位數與相應乘9的進位數相同”。因為乘9的十位數字與個位數字之和為9,兩進位數相同,勢必乘9的個位數字與原進位數字之和為9(即為積的“插9”),而仍保持原進位數不變,不改變隨后的乘積。
(2)剖析“插9”實例。
下面通過實例進一步說明。例如,在142857×3=428571這一乘積式中,能否“插9”?何處可“插9”?
不妨從個位開始,一一檢驗實施。注意到9×3=27,進位數為2。
①個位7×3=21,進位數為2,與9×3的進位數相同,可“插9”,得1428597×3=4285791(此時9×3=27中的7與原進位數2相加為9,進位數仍為2)。
②低2位57×3=171,進位數為1,與9×3的進位數不同,不可“插9”。
③低3位857×3=2571,進位數為2,與9×3的進位數相同,可“插9”,得1429857×3=4289571(此時9×3=27中的7與原進位數2相加為9,進位數仍為2)。
④低4位、低5位乘3的進位數非2,不可“插9”。
(3)在142857的正中“插9”延伸。
對于k=2~6,857×k的進位數分別為1,2,3,4,5;對應的9×k的進位數分別為1,2,3,4,5,即對每一個k=2~6,857×k的進位數與9×k的進位數相同,因而在整數142857的正中“插9”后,其k(2~6)倍積恰為原積的正中“插9”,如下所示。

可見,拓展程序輸出的第二個結果,實際上就是在“六六大順數”142857的正中“插9”所得。
順便指出,在142857×3=428571乘積式中的“十位”可插入9,但對于k=2~6中除3之外的其他4個倍數k,不符合在“十位”插入9的條件。
(4)“插9”特性的多次重復。
神奇的是,這一奇異“插9”特性還可多次重復,即在142857的正中插入若干9后,其k(2~6)倍積為原積的正中插入若干9,如下所示。

這樣一來,按上表可列舉一個10位正整數m,或更多的30位正整數m(須允許數字重復),分別乘以k(2~6)所得積的數字組成與m的數字組成相同。
這一神奇的“插9”特性,在以后第3章的“逆序倍積式”中還會出現。