本文发表于《大众科学》的前博客网络,反映了作者的观点,不一定代表《大众科学》的观点
当我瞥见一位新的数学朋友正在修改的论文标题时,“因子进制”这个词跳入了我的眼帘。多么棒的一个词!我不知道它是什么意思。
我的新朋友用一个例子向我展示:数字 2019 是 2(6!)+4(5!)+4(4!)+2!+1。更正式地说,它是 2(6!)+4(5!)+4(4!)+0(3!)+1(2!)+1(1!)+0(0!)。(最后一项有点傻,但我们稍后会用到它。)哇,这有很多的数字和标点符号!感叹号当然是阶乘符号,而不是对数字的兴奋表达。对于正整数 n,n! 是从 1 到 n 的整数的乘积。
要以因子进制(或者如某些人所称的阶乘数系统)书写一个数字,你需要将其表达为阶乘的倍数之和,规则是对于 n! 项,你不能使用大于 n 的系数。也就是说,你不允许将数字 6 写成 3(2!)。你必须将其写成 1(3!) 或只是 3!。
关于支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保关于当今塑造我们世界的发现和想法的具有影响力的故事的未来。
这种限制类似于我们在以二进制或十进制书写数字时所具有的限制,即我们只使用小于基数的数字。二进制使用数字 0 和 1。十进制使用 0、1、2、3、4、5、6、7、8 和 9。这种限制是有充分理由的。有了它,每个正整数都有一个唯一的因子进制表示,就像它在二进制或十进制中都有唯一的表示一样。
如果一个数字以十进制以外的进制书写,通常以下标表示进制。因此,数字 2123 表示以三进制表示的数字 212,即 2(32)+1(3)+2=2310。(我对这种表示法有异议——将十进制数字作为下标来表示不同的进制表明你对你的产品没有信心——但我的读者有权知道人们是如何书写这个的。)同样,下标 ! 表示一个数字是以因子进制书写的。因此,201910=2440110!。
证明在因子进制系统中,给定正整数只有一种表示方法是很有趣的。但是一旦你完成了这一点,一个大问题仍然存在:为什么?因子进制做了什么你用二进制、十进制、六十进制或你可以选择的任何其他无数进制都无法获得的事情?
我的第一个猜测是,因子进制在书写更大的数字时会更有效率。我注意到,与二进制或十进制系统不同,在二进制或十进制系统中,位值系统中每个新位置与前一个位置具有恒定的乘法关系,而在因子进制中,每个新位置都比它之前的位置大得多。(这句话很复杂,但我保留了它,因为我喜欢短语“更大”的合理使用。)换句话说,每个位置值之间的比率不是恒定的,就像通常的进制一样。它在增长。
最右边的位置是个位,左边的下一个位置大两倍,再左边的位置比两位大三倍,以此类推。这意味着当我们开始查看更大的数字时,因子进制会变得更有效率。数字 201910 用因子进制书写比用十进制书写需要更长的时间,但是如果你想书写比 20! 大得多的数字,因子进制将开始使用更少的数字。(如何书写这些额外的数字留给读者作为练习。)
但是数字效率并不是因子进制存在的真正原因。据我所知,没有人会因为可以使用 34 个因子进制数字来书写 40 个十进制数字而松一口气。因子进制的一个应用是用一个纸牌戏给你的朋友留下深刻的印象。请阅读汤姆·埃德加在《数学视野》中关于此事的文章。但是因子进制对于描述排列也很有用。
n 个事物的排列是对它们的排序方式。你也可以把它看作是一个有 n 个不同字母的单词。n 个事物有 n! 个排列,并且因子进制提供了一种相当简单的方法,可以将 0 到 n−1 之间的每个数字与 n 个对象的一个排列相关联。
现在我们可以使用数字 201910 的因子进制表示形式 2440110!,找出我们应该将数字 0 到 6 的哪个排列与它相关联。
让我们想象一下,我们将数字 0 到 6 排成一个有序的行,{0,1,2,3,4,5,6}。2440110 的第一个数字是 2,这告诉我们,我们想要数 “0-1-2” 并选择对应的数字 2 作为我们的第一个数字。我们从行中取出 2,剩下 {0,1,3,4,5,6}。2440110 中的第一个 4 告诉我们数 0-1-2-3-4 并取对应的数字。因为我们已经删除了 2,所以我们得到 5。现在,我们对下一个 4 重复相同的操作,将 6 添加到我们的排列中。现在我们有 {0,1,3,4}。数字 0 对应于 0,我们有 {1,3,4}。然后,1 告诉我们数 0-1 并拉出 3,下一个 1 给出我们 4,最后剩下的最后一个数字是 1。最后,数字 2019 给我们排列 2,5,6,0,3,4,1。
如果用文字很难理解,我建议查看维基百科页面上精美的解释图,然后自己尝试一下。从 0 而不是 1 开始计数有点障碍,但这确实是一个明智的选择。(我尝试从 1 开始,这让事情变得更加复杂,因为它很难处理数字 0。)
因子进制的这种用途称为Lehmer 代码。这是一种思考问题的方式,这个 Numberphile 视频描述了如何在音乐节上选择厕所。带着这个美好的想法,我将让你享受你的新因子进制玩具!