数字黑洞“6”,你知道吗?

2016-08-02 08:10江西钱雯婧
高中数理化 2016年14期
关键词:枚举合数重排

◇ 江西 钱雯婧



数字黑洞“6”,你知道吗?

◇江西钱雯婧

一般情况“数字黑洞”——黑洞数又称陷阱数,是一类具有奇特转换特性的整数.任何一个数字不全相同的整数,经有限次“重排求差”操作,总会得到某一个或一些数,这些数即为黑洞数.“重排求差”操作即组成该数的数字重排后所得的最大数减去重排后所得的最小数.但本文探讨的数字黑洞数和上面的不相同.

1 数字黑洞“6”猜想的由来

大家在小时候都听说过完美数,什么是完美数呢?如:28就是一个完美数,28的因数有1、2、4、7、14、28,将比28小的所有因数相加1+2+4+7+14,得数刚好是28.一个数除了它本身以外的所有因数相加的和如果等于这个数本身,那么这个数就叫做完美数.于是我就萌发了这样一个想法:是否其他的数也能类似这样拆分、组合而得到一个具体的数呢?通过不断尝试得出猜想:任何一个大于6的数按照某种规则拆分和组合,有限次之后都会变成6.(这一规则下面会叙述.)

2 数字黑洞“6”的问题描述

设m是大于6的正整数,a、b是m的因数,而且m=a×b,令c=a+b.

1) 如果m是质数,则只有因数1、m满足m=1×m,令c=m+1,也就是说m增加1变成合数c,然后转到下面第2)步;如果m是合数,则直接从第2)步开始转换.

2) 将这个合数写成2个因数相乘的形式(1和本身2个因数除外). 如:30=2×15, 30=3×10,30=5×6.

3) 然后将2个因素相加得到一个新的数.如2+15=17, 3+10=13, 5+6=11.

4) 上面第3)步组合得到的数如果小于6,则结论错误,如果是6,则得到数字黑洞“6”的结果,如果大于6,再从第1)步重新开始转换操作.

于是发现一个神奇的结论:任何一个大于6的数按照上面的转换规则,经过有限次的拆分和组合操作之后,最后相加的数字和一定是6.

以30为例,具体变换过程如下:

30=2×1530=3×1030=5×62+15=173+10=135+6=1117+1=1813+1=1411+1=1218=2×918=3×614=2×712=2×612=3×42+9=113+6=92+7=92+6=83+4=711+1=129=3×39=3×38=2×47+1=812=2×612=3×43+3=63+3=62+4=68=2×42+6=83+4=7得到结论得到结论得到结论2+4=68=2×47+1=8得到结论2+4=68=2×4得到结论2+4=6得到结论

3 用数学归纳法证明数字黑洞“6”的结论

3.1数学上的定性分析(有限次转换操作的可能性)

本文提到的数,可以非常大,没有规定上限.本文中提出的经过有限次的转换是否可行呢?

设m是大于6的正整数,a、b是m的因数,而且m=a×b,令c=a+b.

易证c

3.2使用数学归纳法进行证明

先进行数学上的定量分析(在有限范围内进行枚举证明问题的正确性).

1) 对于大于6小于等于20的数枚举证明如下:

7+1=8, 8=2×4, 2+4=6,

8=2×4, 2+4=6,

……(由于版面原因, 此处略)

20=2×10, 2+10=12, 12=2×6, 2+6=8,

8=2×4, 2+4=6;

12=3×4,3+4=7,7+1=8,8=2×4,2+4=6;

20=4×5, 4+5=9, 9=3×3, 3+3=6.

上面的枚举说明当6

2) 对于大于20小于100的数.

a) 我们也可以像上面一样逐个地枚举出来(由于篇幅的限制,表格中只列举了21、91时的情况).

21=3×7, 3+7=10, 10=2×5, 2+5=7,

7+1=8, 8=2×4, 2+4=6;

91=3×17, 3+17=20, 20=2×10, 2+10=12, 12=2×6, 2+6=8, 8=2×4, 2+4=6;

b) 从上面的数学定性分析可以知道大于20小于100的数按照本文中提到的规则经过数次的拆分和组合转换,一定会变成大于6而小于等于20的数.从上面的数学归纳证明1)可以知道大于6小于等于20的数全部符合规律.

所以可以得出当20

3) 假设当n≤k时结论成立,下面只需要证明n=k+1时结论成立即可.

a) 如果n是质数,c=n+1;c变成了合数,令a、b是它的2个因数(1和n本身除外),c=a×b,令c=a+b;

b) 如果n是合数,令a、b是它的2个因数(1和n本身除外),n=a×b,c=a+b;

c) 由于a和b是n的大于1小于它本身的因数,所以c=a+b

我们已经假设当n≤k时,结论是成立的,所以可以得出当n=k+1时,结论也是成立的.

由数学归纳法可知,任何一个大于6的数按照上面的转换规则,经过有限次的拆分和组合操作之后,最后相加的数字和一定是6.至此数字黑洞“6”的猜想得到了证明.

4 利用计算机编程在更大范围对上面的结论进行枚举补充证明

对于数字黑洞“6”的猜想,在没有想到数学理论证明之前,对于小一点的数,通过逐个去尝试,给出了直接证明.对于大一些的数该怎么办呢?直接尝试过于烦琐,容易出差错,这个问题是否可以使用计算机帮助验证呢?设计一个计算机程序,从键盘输入一个任意大于6的数,按照本文的转换规则,其结果都等于6,即陷入这个数字黑洞6里.是不是所有的数字都这样呢?

下面的程序对100万内的数进行了逐一证明(如果想证明更大的数,只需要修改程序第2行的参数就可以),程序的运行结果表明大于6小于等于100万的数都符合本文的规则.从而进一步证明了数字黑洞“6”猜想的正确性.

程序如下:

program yam;

const maxn=1000000;var a:array[1..maxn] of integer; b:array[1..maxn] of integer;

seq:array[1..maxn] of longint;n,i,j,k,s,t,head,tail:longint;

begin

assign(output,′de6.txt′); rewrite(output);

readln(n); fillchar(a,sizeof(a),0);

for i:=2 to n do

if a[i]=0 then for j:=2 to n div I do a[i*j]:=1; fillchar(b,sizeof(b),0); b[6]:=1;

for i:=7 to n do if b[i]=1 then writeln(i,′: same′,i-1)

else

begin

write(i,′:′); if a[i]=0 then k:=i+1 else k:=i; b[k]:=1;

fillchar(seq,sizeof(seq),0); seq[1]:=k;

head:=1; tail:=1;

while head<=tail do

begin

t:=seq[head]; for j:=2 to trunc(sqrt(t)) do

if t mod j=0 then begin s:=j+t div j; write(j,′+′,t div j,′=′,s,′;′); if a[s]=0 then inc(s);

if (b[s]=0) and (s<>6) then begin inc(tail); seq[tail]:=s;end; end;

inc(head);

end;

b[i]:=1; writeln;

end;

close(output);

end.

上面的程序对100万内的数进行了逐一证明,如果不考虑计算机位数的局限性,从理论上讲,更大的数只要适当修改程序也能证明,可见又一次证明了数字黑洞“6”猜想的正确性.

5 结论分析

本文叙述的神奇的数字黑洞“6”结论是指:任何一个大于6的数按照本文的转换规则,经过有限次的拆分和组合操作之后,最后相加的数字和一定是6.

从小时候的数字游戏、猜数游戏、完美数的欣赏,到数学黑洞的猜想,从枚举中证明想法的正确性,到使用数学的思维方式进行的定性分析和定量分析,进行完整性的归纳法证明,从对小范围的数使用手工的方法进行枚举证明,到使用计算机编程的方法,在非常大的范围对猜想进行逐一证明,我们可以肯定地说本文提出的结论是正确的.

广袤的数字宇宙中可能还有很多类似于这样的数字黑洞,以不同的形式、不同的维数存在着,等待我们去挖掘.这个数字黑洞“6”让我从另一个角度去欣赏美丽而又变幻莫测的数学世界.

江西省新余市第四中学)

猜你喜欢
枚举合数重排
基于理解性教学的信息技术教学案例研究
环己酮肟重排反应酸肟比联锁方案评析
重排滤波器的实现结构*
数组在处理枚举无规律数据中的应用
EGFR突变和EML4-ALK重排双阳性非小细胞肺癌研究进展
质数找朋友
基于太阳影子定位枚举法模型的研究
如何快速判断一个数是质数还是合数
基于枚举的并行排序与选择算法设计
质数嫌疑犯