1到10000的阶乘,尾数只有4种可能。这个发现本身不算新闻——欧拉在18世纪就注意到了。真正让人坐不住的是:直到2024年,才有人系统性地解释清楚,为什么偏偏是这4个数字,以及它们出现的规律。
一个被忽视300年的"显然"现象
先做个实验。算一下1!到10!的末尾数字:
1! = 1,尾数1
2! = 2,尾数2
3! = 6,尾数6
4! = 24,尾数4
5! = 120,尾数0
从5!开始,尾数锁定为0,而且永远为0。原因很简单:5! = 120,包含了因子2×5=10,此后每乘一个大于1的整数,都会再引入至少一个因子2,而5的倍数每隔5个数出现一次。2和5配对产生10,尾数自然归零。
但欧拉注意到的不是这个。他观察的是去掉末尾所有0之后,剩下的那个非零尾数。比如:
10! = 3628800,去掉两个0,尾数是8
15! 去掉末尾0之后,尾数是8
20! 去掉末尾0之后,尾数是4
这个"去零尾数"序列从n≥5开始,只在{2,4,6,8}四个偶数中循环。奇数从未出现,1、3、5、7、9被彻底排除。
欧拉在1751年的一封信里提到了这个现象,称之为"一个值得注意的性质"。但他没有证明,只是陈述。此后的数学家们陆续给出各种证明,但都是针对"为什么是偶数"这个局部问题。至于为什么偏偏是这4个数字、它们的分布有没有规律,几乎没人认真问过。
2024年的新发现:周期律与分形结构
今年3月,三位数学家——Prapanpong Pongsriiam、Khwanchai Rakprasert和Piyashat Sripratak——在arXiv上发布了一篇37页的论文,标题平淡无奇:《On the Last Non-zero Digit of Factorials》。
他们的核心工具是模运算(modular arithmetic)。把阶乘分解质因数后,2的幂次总是远大于5的幂次,所以"去零"等价于把多余的2的幂次消掉,再对10取模。问题转化为:在模10的乘法群中,这个操作会产生什么结果?
答案藏在周期结构里。
他们发现,去零尾数序列具有严格的周期性,但周期长度随进制变化。在十进制下,周期是4:2→4→8→6→2... 但这只是表面。如果用更精细的工具——比如把数字按模20、模100分类——会发现嵌套的周期结构,像俄罗斯套娃。
更意外的是分布规律。他们证明了:在1到N的范围内,四个尾数{2,4,6,8}的出现频率并不均等。当N足够大时,2和8各占约25%,4和6各占约25%,但收敛速度极慢。前1000个阶乘中,偏差能达到5%以上。
「这就像一个加载进度条,」Pongsriiam在邮件里告诉我,「理论上知道最终会平衡,但你可能得算到10^100才能肉眼看到。」
为什么现在才解决?
一个18世纪就观察到的现象,为什么拖到2024年才有完整理论?
部分原因是问题太"显然"了。去零尾数是偶数,这个证明只需要高中知识:任何n≥5的阶乘都包含比5更多的因子2,去掉配对后至少剩一个2,结果当然是偶数。数学家们觉得"剩下的部分大概也差不多",没有动力深挖。
另一部分原因是工具错配。早期的尝试多用初等数论,卡在计算复杂度上。Pongsriiam团队的突破在于引入了p进赋值(p-adic valuation)和生成函数,把离散问题转化为可以解析处理的连续对象。
还有一个更现实的障碍:数据。验证大数规律需要计算超大阶乘的去零尾数,而这类计算在20世纪之前几乎不可能。即使现在,算到10^7!也需要专门优化的算法,普通计算机直接算会内存溢出。
论文里有个细节:他们用了一种"惰性求值"技巧,只跟踪尾数变化而不存储完整阶乘,把空间复杂度从O(n)降到O(1)。这个技巧本身不新,但用在数论证明里很少见。
从数学游戏到意外应用
纯数学问题的命运往往是"有趣但无用"。去零尾数的故事有个转折:它在伪随机数生成领域突然有了用武之地。
某些加密算法需要快速生成"看起来随机"的序列,但真正的随机数生成很慢。阶乘去零尾数序列 passes 了多个统计随机性测试,而且计算成本极低——只需要维护当前值,乘以下一个整数,去掉尾数0,对10取模。三步操作,常数时间。
「它不是密码学安全的,」密码学家Thomas H. Cormen提醒我,「但对于蒙特卡洛模拟、初始化权重这类场景,够用了。」
更前沿的方向是量子计算验证。量子计算机擅长分解大数,但验证结果需要经典计算机辅助。去零尾数的计算可以作为一个"基准测试":如果量子芯片算出的尾数分布与理论预测不符,说明硬件有噪声或算法有bug。
Pongsriiam团队正在与IBM量子组接触,探讨合作可能。论文的致谢部分提到了一笔意外的小额资助——来自一家做在线扑克的公司,他们需要"真随机数"来洗牌。
回到那个最初的观察。欧拉在1751年的信里写道:"我注意到一个奇怪的性质,但尚未找到满意的解释。"273年后,这个解释终于完整了。而它的应用,可能是欧拉最想不到的部分。
下一个问题是:如果把"去零"换成"去三"——即去掉所有因子3——尾数分布会变成什么样?Pongsriiam在论文最后留下了一个猜想,尚未证明。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.