西西弗斯数学黑洞的分析和研究

2022-04-28 14:32王德贵
电脑报 2022年15期
关键词:位数奇数弗斯

王德贵

大家知道宇宙中有一种叫“黑洞”的天体,它是由高密度物质组成,连光线射到这个天体上都能被吸收掉,不能被反射,黑洞的吸引力极其强大,使得视界内的逃逸速度大于光速,所以导致人们也看不见这个天体,所以称它为黑洞,偷偷告诉大家一个小秘密,在浏览器中搜索黑洞词条会有意想不到的结果,大家可以去试试。

关于“数学黑洞”的研究我们已经发了多篇文章,相信大家对数学黑洞已经有了一个较为深刻的理解,今天继续用Python和Scratch来分析和研究这个著名的西西弗斯数学黑洞——123。

程序涉及的主要是等级考试4级内容——自定义函数。

一、 创意来源

数学黑洞123,又称为西西弗斯串。将一个多位数的偶数个数、奇数个数和总个数排列在一起,结果永远是“123”。其运算过程如下。

我们首先任取一个数,如81872115378,其中偶数个数是4,奇数个数是7,共11位数,这样可以获得一个新的数4711。该数有1个偶数,3个奇数,是4位数,又组成新数134。重复以上过程,1个偶数,2个奇数,是3位数,便进入了123这个数学黑洞。这时继续重复以上程序,结果始终是123,再也逃不出去,像不像陷入了一个黑洞。

为什么把数学黑洞123叫西西弗斯串呢?因为在希腊神话中西西弗斯触犯了众神,诸神为了惩罚西西弗斯,便要求他把一块巨石推上山顶,而由于那巨石太重了,每每未上山顶就又滚下山去,前功尽弃,于是他就不断重复、永无止境地做这件事,西西弗斯的生命就在这样一件无效又无望的劳作当中慢慢消耗殆尽,永无休止。这和数学黑洞123非常类似,因此,人们把123黑洞叫作西西弗斯串。

此前,美国宾夕法尼亚大学数学教授米歇尔·埃克先生仅仅对这一现象作过描述介绍,当时未能给出令人满意的解答和证明。

我们已经知道了这条规则,那么是不是所有的数字这样运算后都能获得同样的结果呢?有没有例外呢?如何证明?下面我们仔细分析一下这条规则在不同情况下的表现:

(1)当目标是一个一位数时,如是奇数,则k=0,n=1,m=1,组成新数011,有k=1,n=2,m=3,得到新数123;

如是偶数,则k=1,n=0,m=1,组成新数101,又有k=1,n=2,m=3,得到123。

(2)当是一个两位数时,如是一奇一偶,则k=1,n=1,m=2,组成新数112,则k=1,n=2,m=3,得到123;

如是两个奇数,则k=0,n=2,m=2,组成022,则k=3,n=0,m=3,得303,则k=1,n=2,m=3,也得123;

如是两个偶数,则k=2,n=0,m=2,得202,则k=3,n=0,m=3,由前面亦得123。

(3)当是一个三位数时,如三位数是三个偶数字组成,则k=3,n=0,m=3,得303,则k=1,n=2,m=3,得123;

如是三个奇数,则k=0,n=3,m=3,得033,则k=1,n=2,m=3,得123;

如是两偶一奇,则k=2,n=1,m=3,得213,则k=1,n=2,m=3,得123;

如是一偶两奇,则k=1,n=2,m=3,立即可得123。

(4)当是一个M(M>3)位数时,则这个数由M个数字组成,其中N个奇数数字,K个偶数数字,M=N+K。

由KNM连接生产一个新数,这个新数的位数要比原数小。重复以上步骤,一定可得一个三位新数knm。

以上仅是对这一现象产生的原因,简要地进行分析,若采取具体的数学证明,演绎推理步骤还相当繁琐和不易。直到2010年5月18日,关于“123数学黑洞(西西弗斯串)”现象才由中国回族学者秋屏先生作出严格的数学证明,并推广到六个类似的数学黑洞(“123”、“213”、“312”、“321”、“132”和“231”),有足够基础的同学可以查查他的论文《“西西弗斯串(数学黑洞)”现象与其证明》。自此,这一令人着迷的数学之谜已被彻底破解。

二、 设计思路

数学黑洞有一个特点,即每次迭代计算的规则是一样的,通过这样简单地重复一个规则,得到惊人的结果。

通过输入一个多位正整数,判断偶数个数、奇数个数和总个数,3个数字重组,形成新的多位正整数,再重复上述过程,最后得到123。因此我们先定义一个计算个数的自定义函数,每次调用即可。

然后再定义一个循环调用计算过程的自定义函数,直到结果为“123”。

三、 Scratch程序设计

想通过Scratch去实现这个程序,需要掌握判断奇数和偶数的方法,任何数除以2余数为0的是偶数,为1的是奇数。还需要掌握变量、循环、判断、运算符等。

创建四个变量:奇数个数(统计数字中奇数的个数)、偶数个数(统计数字中偶数的个数)、变量n(统计数字个数)、变量结果(存放每次新产生的数字)。

程序开始运行后用户向系统输入任意整数(不论长度和大小),将输入的数字保存到列表中,并且增加控制循环变量的条件,只有最终得到结果为123时才可跳出循环,否则的话需要将保存在列表中的数字进行规定的变化。

首先通過提取判断的方法,获得列表中数字的偶数位、奇数位、总位数的数字,将三个数进行拼接得到一个新的结果,并将其保存入列表中,将新的结果与数字123进行比较查看是否相等,若不相等继续对新数字做相同的处理,直到最终的结果等于123结束(图1)。

四、 Python程序设计

有了Scratch的基础,Python程序设计也不是很難,语句很好理解。一是奇数和偶数的判断,然后分别添加到相应的列表中,再计算总位数。

然后根据输入的多位数,调用运算函数,得到新的多位数,再调用运算函数,直到结果为“123”(图2)。

输入多位数,验证结果,均为黑洞“123”(图3)。

五、测试与改进

其实这个程序也可不用自定义函数,一样可以完成验证。

这个黑洞算法的基础上,我们最后再加一条规则,奇偶个数之差(取绝对值),是不是也会出现数学黑洞,这个黑洞还是“123”吗?(图4)

修改上述程序,即可看到,最后重复出现的数是“4044”,我们找到了一个新的数学黑洞(图5)。

通过运行修改后的程序,发现“4044”是新黑洞。前面是按“偶奇和差”的顺序排列,如果按“偶奇差和”排列呢?还会是“4044”吗?(图6)

对这个程序有兴趣的朋友可以自己去验证一下。那么按“偶奇和积”排列,或按“偶奇和差积”排列,还有数学黑洞吗?(图7、图8)

这样看来,一定还有很多数学黑洞没有被发现……

本文也是我自己的心得,有不妥之处,请各位同仁斧正!

猜你喜欢
位数奇数弗斯
奇数凑20
总得有人去擦星星
父亲的祝福
暑假训练营·两位数乘两位数和小数的初步认识
爱心树(上)
《两位数除以一位数笔算除法》教学设计
捉月亮的网
比大小有窍门
叶丽娅的年龄
抓住数的特点求解