熊建康

最近一帖名为“数字黑洞6174”的视频在网上传得沸沸扬扬,大意是说“任意选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数,重复对新得到的数进行上述的操作,7步必然会得到6174。”那么,这真的是难以解释的数字黑洞吗?我看未必,有兴趣的同志不妨一试。本文全部用初等方法研讨,并不牵扯高深的数论知识。为了讲清这个问题,特提出以下命题。

【命题1】(初等变换F的定义)任选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数。这种从一个四位数得到另一个四位数的操作叫做初等变换F,简称变换F。

【命题2】;如果一个四位数的四个数字A、B、C、D满足条件:A、B、C、D({1、2、3、4、5、6、7、8、9},且A、B、C、D两两互不相等,则这个四位数叫作理想四位数。

这里所谓的理想四位数的各位数字各不相同、且都不为0,而与四位数的四个数字的排列顺序无关,因为变换F,对于任意提交的四位数都要进行从大到小和从小到大的两次变换。

【命题3】:对任意一个四位数字不全相同的四位数ABCD,都可以通过有限次初等变换F使之变为理想四位数。

【命题4】:对理想四位数进行有限次的初等变换F必然得到6174。而从任意一个四位数字不全相同的四位数,先变成理想四位数,再由这个理想四位数变成6174,所需的初等变换F不会超过七步。

这里需要证明的是,【命题3】和【命题4】。如果您对下面冗长的论述没有充分的兴趣,可以避开步骤繁杂的“一、【命题3】的证明”不看,而只看本文的二、三、四部分,便可将这个“数字黑洞”的奥秘了然于心。

一、先证明【命题3】,如果一个四位数ABCD已经满足命题2所列举的条件,那么,不需要进行变换F,它就已经是理想四位数了。需要变换的,只有两种情况:

1、四位数ABCD中至少有一个数字为0。不妨碍一般性,我们指定D=0,且假设A、B、C([0,9],A、B、C( N*,我们先对它进行第一次F变换:ABC0—0CBA=A(B-C-1)(9-B+C)(10-A),其中每一个()内都是一位数字,下同。我们先检查一下战果,显然A、10-A不等于0,若9-B+C=0则B = C +9,这是不可能的,所以一般地,我们有9-B+C(0。

那么B-C-1=0能否成立呢?这倒是可以的,因为只要B=C+1, 即C、B是连续的正整数,这并不违背问题的初始条件。另外,我们注意到眼前这个新四位数A(B-C-1)(9-B+C)(10-A)中,个位数字和千位数字之和(10-A)+A=10,十位数字与百位数字之和(B-C-1)+(9-B+C)=8。即这个新四位数的:个位数字+千位数字=10,百位数字=0,十位数字=8。满足以上条件的新四位数拢共只有:9081,8082,7083,6084,5085,4086,3087,2088,1089,一共九个。按数字从大到小的顺序进行排列:9810,8820,8730,8640,8550,一共五个。对最后这五个数分别再进行一次F变换得:9621,8532,8657,8172,5994。于是我们在上述所有情况中都排除了四位数中的数字0.。

2、第二种情况是,四位数ABCD中有相同的数字。因为原始问题的大前提中有,四位数的四个数字不全相同这个条件,所以我们只需解决以下两种情况即可。四位数的四个数字中有两个相同数字或三个相同数字的情况。又因为对于有三个相同数字的情况,可以很方便地转化为有两个相同数字或各位数字皆不相同的情况,所以我们只讨论有且只有两个相同数字的情况。假定四个数字按从大到小顺序排列得到的四位数是(1)AABC,(2)ABBC,(3)ABCC(其中A、B、C各不相同),共三种情况。下面我们对这三种情况分别加以讨论:

(1)、对于AABC我们先作一次F变换:AABC-CBAA=(A-C)(A-B-1)(9+B-A)(10+C-A),因为,A>B>C(1,所以A(C+2(3。又A、B、C((*,所以,10+C-A(0且,10+C-A (8。此时,

甲、如果A-C=A-B-1,则C=B+1这与B>C矛盾;

乙、如果A-C=9+B-A则2A=9+B+C,这和A( N*矛盾。

丙、如果A-C=10+C-A,则A-C=5,A=C+5,A-B-1

1*、当9+B-A=5时,则A=B+4=C+5,所以变换后的数是:5355.,实行三次F变换得理想四位数8532,而8532再作一次F变换就得到6174;

2*、当9+B-A<5时, A >B+ 4,所以C+5>B+4,从而B>C>B-1, 这就相当于要在两个连续自然数之间再插上一个自然数,于是归谬。

3*、9+B-A>5时,A

总之,对于(1)这类四位数我们都可以通过F变换得到理想四位数,从而再7步之内得到6174.。

(2)对于ABBC我们先作一次F变换:得:ABBC-CBBA=(A-C)99(10+C-A), 因为,A>B>C(1,所以A(B+1(C+2(3。又A、B、C((*,

甲、当9(A >5+C时,10+C-A<5,所以新四位数按从小到大排列是99(A-C)(10+C-A),再进行一次F变换得(A-C-1)(8-A+C)(A-C)(11+C-A), 讨论如下:

1*、(8-A+C)、(A-C)和(11+C-A)、(A-C-1)不会相同,否则A-C便不是整数;

2*、而若(8-A+C)=(A-C)则A-C=4<5,与甲中小前提矛盾;

3*、如果(11+C-A)=(A-C-1)则A-C=6,这时第二次变换后所得的新四位数是:5265,再作第三次F变换得理想四位数6274。

所以,当9(A >5+C时,我们总可以将这类四位数用不超过三次F变换得到理想四位数。

乙、当3(A ( 5+C时,10+C-A>5, 所以新四位数按从小到大排列是99(10+C-A)(A-C),再进行一次F变换得(9-A+C)(A-C-2)(10-A+C)(1+A-C)。讨论如下:

1*、(A-C-2)、(10-A+C)和(9-A+C)、(1+A-C)不会相同,否则A-C便不是整数;

2*、若(A-C-2)=(10-A+C),则A=C+6,与乙中小前提3(A <5+C矛盾;

3*、若(9-A+C)=(1+A-C),则A-C=4,这时第二次变换后所得的新四位数是:5265,再作第三次F变换得理想四位数6274(此处与甲、3*相同)。

所以,当3(A ( 5+C时,我们总可以将这类四位数用不超过三次F变换得到理想四位数。

总之,对于(2)这类四位数我们都可以通过F变换得到理想四位数,从而再7步之内得到6174.。

(3)对于ABCC我们先作一次F变换:得:

ABCC-CCBA=(A-C)(B-C-1)(9-B+C)(10+C-A)

……………………………………(*)

甲、当C+5 > A 时, 3(A-C<5, 1(B-C-1<3,,6<9-B+C(8, 10+C-A>8,所得的四位数(*)就是理想四位数; (

乙、当C+5 =A时,A-C=5, 1(B-C-1<2, 3(9-B+C<5,10+C-A=5,所四位数的四个数字从大到小排列得:55(9-B+C)(B-C-1),再一次F变换即得理想四位数

(5-B+C)(5+B-C)(3-B+C)(4+B-C)。

下面我们要考虑的是当C+5

丙、当C+5=A-1,即A-C=6时,10+C-A=4,所以四位数(*)数字重新排列最大值为6444,而6444通过5 次F变换得到6174。

丁、当C+5=A-2,即A-C=7时,因为10+C-A=3,所以四位数(*)数字重新排列最大值为7443,而7443通过4 次F变换得到6174。

戊、当C+5 =B时, B-C-1=4,9-B+C=4,5

己、当B

辛、当6(C+5 5,A-C>6, 4

若10+C-A=9-B+C,则A-B=1,由9>A>B>6,知B=7或8;A=8或9,而6(C+5

1*、而当C=1,B=7,A=8时或C=2,B=8,A=9时,四位数(*)都是7533,据此2次F变换得到6174。

2*、当C=1,B=8,A=9时,四位数(*)是8622,而8622通过4 次F变换得到6174。

3*、当C=2,B=7,A=8时,四位数(*)是6444,而6444通过5 次F变换得到6174。

总之,对于(3)这类四位数我们都可以通过F变换得到理想四位数,从而再7步之内得到6174.。

综合上述,命题3得证。

二、对于命题4:对理想四位数进行不超过五次的初等变换F必然得到6174。我们给出以下证明:

假设一个理想四位数的四个数字按从大到小所得新四位数为:ABCD,我们对实行一次F变换,所得的四位数是MNRS即ABCD - DCBA =MNRS,则W=A-D,N=B-C-1,R=9+C-B,S=10+D-A,

于是我们有S、R、N、M((0,9]以及M+S=10,N+S=8,M>N,R>S。

根据上述结论,实行一次F变换所得四位数应为4176, 6174,6284,6354, 7263, 8172,8352,8532, 9261,9351,9531,9621。其中包括:6174,这个我们需要的结果,而4176、6284、8352、8532通过一次F变换即可得6174;9261,9621和9351,9531通过二次F变换得到6174;6354通过3次F变换得到6174;7263通过5次F变换得到6174;8172通过6次F变换得到6174。这样就证明了命题4。

三、下面我们通过几个貌似不可能的例子,看看他们如何通过不超过7次F变换,得到6174:

(1)1234;4321-1234=3087(8730-0378=8352(8532-2358=6174,整整用了3次;

(2)9876;9876-6789=3087,以下同(1),也是3次;

(3)4567;7654-4567=3087,以下同(1),也是3次;

(4)1121;2111-1112=0999(9990-0999=8991(9981-1899=8082

(8820-0288=8532(8532-2358=6174,共4次;

(5)9919;9991-1999=7992(9972-2799=7173(7731-1377=6354

(6543-3456=3087(8730-0378=8352(8532-2358=6174,共6次;

(6)5535;5553-3555=1998(9981-1899=8082(8820-0288=8532

(8532 -2358=6174,共4次。

四、追根求源,假定按从大到小排好顺序的四位数ABCD进行一次F初等变换,且每次变换得到的新四位数的四位数字始终保持着从大到小的排列顺序。那么就有

ABCD((A-D)(B-C-1)(9-B+C)(10-A+D)

((2A-2D-10)(2B-2C-11)(19-2B+2C)(20-2A+2D)……,

这样用来表示每位数字的关于A、B、C、D的多项式就会越来越复杂,如果我们不想办法,将每位数字中的字母对消,则很难得到满意的结果,为此将各位的大小顺序的重新认定,调整如下:

((19-2B+2C)(2A-2D-10)(2B-2C-11)(20-2A+2D)

((2A-2B+2C -2D-1)(2A-2B+2C-2D)(-2A+2B-2C+2D+8)(11-2A+2B-2C+2D)

((2A-2B+2C-2D)(11-2A+2B-2C+2D)(-2A+2B-2C+2D+8)(2A-2B+2C -2D-1)

((1)(2)(6)(9)(9621(8352(8532(6174。

简化的步骤如下;

ABCD((A-D)(B-C-1)(9-B+C)(10-A+D)((9-B+C)(A-D)(B-C-1)(10-A+D)

((A-B+C-D-1)(A-B+C-D)(8-A+B-C+D)(11-A+B-C+D)

((A-B+C-D)(11-A+B-C+D)(8-A+B-C+D)(A-B+C-D-1)

((1)(2)(6)(9)(9621(8352(8532(6174,正好五步得到6174.。

一般来说,对理想四位数进行不超过五次的初等变换F必然得到6174。

以上就是所谓“数字黑洞6174”的奥秘之所在。

附录:必须七步才能“就范”的例子,3876。

3876(8763(5085(8550(7992(9972(7173(7731(6354(6543(3087

(8730(8352(8532(6174。

5位数的数字黑洞是多少_揭秘数字黑洞6174相关推荐

  1. 怎么将一个数字高低位互换_多彩数字 多彩童年——东城幼儿园玩具研究教学案例...

    玩具是儿童的天使,孩子在天使的陪伴下,创造性地进行着自己的游戏活动.在幼儿众多的玩具中怎样甄别一款好玩的玩具,挖掘出玩具的最大教育价值,让他们在和玩具的互动中快乐地学习呢?下面,我们来看看老师们是怎样 ...

  2. 数字盲打怎么练_会计数字键盘盲打技巧

    1 会计 数字键盘盲打技巧 以下是会计数字键盘盲打技巧等等的介绍,希望可以为您提供帮助. 数字小键盘区(又名'辅助键区')位于键盘的右下方,主要用于快速输入数字,并加以编辑处理.它特别适合于经常与数字 ...

  3. java猜数字游戏应用程序_猜数字游戏的Java小程序

    /* 猜数字游戏: 1,产生随机数. 2,获取键盘录入. 3,将录入数据变成数字,和随机数比较. 给出提示信息. 4,重复这个过程,如果猜中,程序就结束. 注意:对于输入1~100以外的数字,,以及非 ...

  4. java将数字替换为空_将数字替换为java中正确位置的单词

    实际上我正试图用用户给出的句子中的数字替换为单词.本案例日期格式;例如:我的生日是在16/6/2000,我是 java的新手 – >成为->我的生日是七月十六日,我是java的新手 这是代 ...

  5. 有重复数字的组合问题_带数字重复的组合和问题

    有重复数字的组合问题 Description: 描述: This is a standard interview problem to make some combination of the num ...

  6. python猜数字统计游戏次数_猜数字游戏(Python)

    在Python3中工作.在 我对Python还比较陌生(只有几个星期的知识).在 这个程序给我的提示是写一个随机数游戏,用户必须猜出随机数(1到100之间),如果不正确,就会提示它太低或太高.然后用户 ...

  7. 分离数字的python编码_把数字拆分成2的幂的和

    问题: 任何数都能分解成2的幂,比如 7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4 共有6种分解方式,设f(n)为任 ...

  8. python数字转拼音输出_将数字拼音转换为带声调的拼音

    我有一些python3代码可以做到这一点,它足够小,可以直接放在这里的答案中.在PinyinToneMark = { 0: "aoeiuv\u00fc", 1: "\u0 ...

  9. AMNO.6 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字

    题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二 ...

  10. python统计字符串数字个数_python统计字符串中数字个数_后端开发

    python怎么随机生成奇数_后端开发 python随机生成奇数的方法:导入random模块,使用random模块生成随机数,然后判断生成的随机数是否为奇数,若是奇数就加入列表.使用此方法得到的列表包 ...

最新文章

  1. ntohs的一个简单实现(将网络流中用两个字节16进制表示的资源数(如DNS)和长度转换为整形)...
  2. Linux安装及服务控制
  3. html文字绕图文字置顶,如何实现html文字绕排
  4. 从0搭建一个Springboot+vue前后端分离项目(四)利用Element框架搭建页面主体部分表格与侧边栏
  5. Part 2 – Deep analysis using Androguard tools
  6. 使用composer_在Google Cloud Composer(Airflow)上使用Selenium搜寻网页
  7. [MySQL]关于amd.dll后门病毒入侵3306端口的临时解决方案
  8. [ jenkins ] git+jenkins+maven + ansible 部署java程序
  9. heapsort(Java)(最小堆)
  10. (4)二进制文件方式部署Kubernetes高可用集群----------安装kubectl命令行工具
  11. 34 模板方法模式(模板方法设计模式)详解
  12. TCP/UDP测试工具大全
  13. Ansys Speos | 助力汽车按键开关设计与优化
  14. ResNet网络结构搭建
  15. oracle odac 客户端 区别,ODAC使用指南 (一)ODAC常见问题集
  16. 基于OpenCV的多目标动态检测与跟踪
  17. NH2-UiO-66|CAS号1260119-00-3金属有机骨架
  18. nvidia卸载程序失败_卸载删除NVIDIA驱动程序的方法步骤教程 - 系统家园
  19. 【成长笔记】图片验证码识别
  20. LTE学习笔记:OFDM

热门文章

  1. 使用Ballerina CLI工具开发Ballerina项目
  2. 巡检设备RFID技术应用浅析
  3. JAVA 面试 知识点整理
  4. 新思课堂C语言答案,新思课堂APP最新版下载_新思课堂APP官方版1.6.8下载_QQ下载站...
  5. 【交换基础】交换基础知识总结
  6. java 修改pdf_使用Java编辑PDF文本
  7. mysql 身份证 年龄_mysql 中通过身份证号码计算年龄
  8. Qt制作简易电子相册
  9. flac编码音频转alac编码(使用ffmpeg)
  10. 判断无线网卡是否支持监听模式