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]!=h[j]||f[j]>1 (j=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章的“逆序倍积式”中还会出现。