质数的无穷性——从素数到数论

本文深入探讨了质数的特性,如质数的无限性及其作为自然数构建基石的重要性。通过具体的例子,介绍了如何利用质数理论解决数学问题,例如求最大公约数和最小公倍数。此外,还详细阐述了费马小定理及其应用,以及如何根据质数理论推导余数序列的周期性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多自然数都可分解成一些更小的数(直至不可再分,即为素数)的乘积,例如 12=4×3,其中 4=2×2,因此 12=2×2×3。而此时,2 和 3都不可再继续进行分解了,它们是最基本、最纯净的数,我们就把这样的数叫做“质数”或者“素数”。同样地,2/3/5/7/11/13等等都是不可分解的,它们也都是质数。它们是自然数的构件(building blocks),是自然数世界的基本元素。12 由两个 2 和一个 3 组成,正如水分子(H2O)是由两个氢原子和一个氧原子组成的一样。只不过,和化学世界不同的是,自然数世界里的基本元素是无限的——质数有无穷多个。

关于为什么质数有无穷多个,欧几里得有一个非常漂亮的证明。反证法进行证明,假如质数只有有限个,其中最大的那个质数为 P(既然是最大的,也即,凡大于 P 的数均不是素数)。现在把所有的质数连乘起来,再加一,得到一个新的数 N,也即,N=2345P+1,注意到 N除以每一个质数都会余1。这意味着,N 不能被任意一个质数整除,换句话说 N 不可被分解,也即为素数。于是产生矛盾。质数有无限多个。

需要补充的的一点是,这个证明容易让人产生误解,即把头 n个质数连乘起来再加1,总能产生一个新的质数。这是不对的,因为既然只是选择的前 n个(哪怕 n 很大),那么所得数就有可能是那些我们没有乘进去的质数构成的,比如234571113+1=30031,它可以被分解为 59×509

从欧几里得时代就开始,人们近乎疯狂地想要认识自然数的本质规律。组成自然数的基本元素(也即是质数)自然就成为了一个绝佳的突破口,于是对质数的研究成为了探索自然数世界的一个永久的话题。也是今天所说的“数论”。

质数理论来研究说,真的会非常方便ab 的倍数(或者说 a 能被 b 整除,ba 的约数),意为 a 拥有 b 所含的每一种质数,并且个数不会更少12=2×2×3,a=12×15=2×2×3×3×5

  • 12 中有两个2,180 中也有两个2
  • 12 中有一个3,180 中有两个3
  • 180 中还包含 12 中没有的质数,也即是 5;
  • 对于每一种质数,12 里面所含的个数都比不过 180,这其实是表明 12 是 180 的约数;

假设 a=36=2×2×3×3,b=120=5!=2×2×2×3×5,那么,ab 的最大公约数是多少?我们可以依次考察,最大公约数里面可能会包含哪些质数,以及每个质数的个数。

  • 这个最大公约数最多可以包含多少个质数2?显然最多包含 2 个,否则无法整除 36
  • 这个最大公约数最多可以包含多少个质数 3?显然只有一个,否则无法整除 120.
  • 这个最大公约数最多可以包含多少个质数 5?显然一个都不能有,否则无法整除 36;
  • 因此,36120 的最大公约数为 2×2×3=12

我们接着来看 ab 的最小公倍数的构造。我们希望每种质数在数量足够的前提下越少越好(最小上界),为了让这个数既是 a 的倍数,又是 b 的倍数,三个2是必须的,两个3是必须的,一个5也是必须的。因此,ab 的最小公倍数就是 23×32×51=360。便会发现 12×360=36×360.

这其实也不奇怪,在最大公约数里面,每种质数有多少个,取决于 ab 当中谁含的这种质数更少一些,

36=2×2×3×3120=2×2×2×3×5

在最小公倍数的构成里面,每种质数有多少个,取决于 ab 当中谁所包含的这种质数更多一些,

36=2×2×3×3120=2×2×2×3×5

两者“互补”,最大公约数与最小公倍数乘在一起,也就相当于把 ab 各自所包含的质数都乘了一个遍。这即刻为我们带来了一个熟悉的推论:如果两数互质(最大公约数为1),这两个数的乘积就是它们的最小公倍数。

两数互质,相当于说这两个数不包含任何相同的质数,如果 ac 互质,bc 互质,显然 ab 也与 c 互质。还有另外一个结论,如果 ab 是两个不同的质数,则这两个数一定是互质的。

关于质数,有很多有趣美妙的定理。1640年,法国业余数学家 Pierre de Fermat(也即是费马大定理的提出者:费马)发现,如果 n 为质数,那么对于任意一个数 aan 次方减去 a 都将是 n 的倍数(n|ana)。例如,7是一个质数,则 272,373,474,甚至 1007100,统统都能被 7 整除。

Fermat 小定理有一个等价的表述:如果 n 是一个质数的话,那么对于任意一个数 a,随着 i 的增加,ai%n(也即关于 n 的余数)将会呈现长度为 n1 的周期性,也即 ai%n=ai+n1%n

  • 这是因为 n|ana,也即 ana(modn),也即依次计算 a1,a2,,an 关于 n 的余数时,an 余数将会变得和 a1(最开始的)相同,
  • 另一方面,ai%n 的余数,完全由前一项 ai1%n (所决定)。比如 33/7 的 3余6,这表明,33 里包含 3 个 7 以及一个 6;因此,34 里就包含 9 个 7(能够被7整除) 以及 3个6。为了得到 34=333 关于 7 的余数,只需要看 18 除以 7 余多少就行了。可见,要想计算 ai 关于 n 的余数,ai%n=[a(ai1%n)]%n
  • 综上,得证
>>> a, n, N = 3, 7, 20
>>> [a**i%n for i in range(1, N)]

[
    3, 2, 6, 4, 5, 1, 
    3, 2, 6, 4, 5, 1, 
    3, 2, 6, 4, 5, 1, 
    3]

需要注意的是,n1 并非是最小的周期。我们来看 2i 除以7的余数情况,71=6 也是一个周期,但 3 其实是它更小的周期:

>>> a, n, N = 2, 7, 20
>>> [a**i%n for i in range(1, N)]
[2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2]

如果除数 n 不是质数(而非质数是由质数构成),比如是两个质数的乘积(比如 35),周期的长度又会怎样呢?3i 关于 35 的余数又有什么规律呢?注意到 5 和 7是两个不同的质数,它们显然直接就互质了。根据中国剩余定理,一个数除以 35 的余数就可以唯一地由它除以 5 的余数和除以 7 的余数确定出来。因而,为了研究 3i 除以 35 的余数,我们只需要观察 3i%5,3i%7 即可。由费马小定理可知,数列 3i%5 有一个长为 4 的周期,数列 3i%7 有一个长为 6 的周期。4 和 6 的最小公倍数是 12,因此 3i%5,3i%7 存在一个长为 12 的周期。到了 i=13 时,3i%5,3i%7 将会开始重复,也即 3i 除以 35的余数将从此处开始发生循环。

>>> a, n, N = 3, 35, 37
>>> l = [a**i%n for i in range(1, 1+N)]
>>> print([l[i*12:(i+1)*12] for i in range(len(l))])

[   [3, 9, 27, 11, 33, 29, 17, 16, 13, 4, 12, 1], 
    [3, 9, 27, 11, 33, 29, 17, 16, 13, 4, 12, 1], 
    [3, 9, 27, 11, 33, 29, 17, 16, 13, 4, 12, 1]
]

类似地,假如某个整数 n 等于两个质数 pq 的乘积,那么对于任意一个整数 a,写出 ai 依次除以 n 所得的余数序列,(p1)(q1)的最小公倍数将称为该序列的一个周期。事实上,p1q1 的任意一个公倍数,比如表达起来最为方便的 (p1)×(q1),也将成为该序列的一个周期。这个规律可以用来解释很多数学现象。例如,大家可能早就注意过,任何一个数的乘方(ai),其个位数(%10)都会呈现出长度为 4 的周期(这包括周期为1(5)和周期为2(4)的情况),其实是因为,10 等于 2 和 5 这两个质数的乘积,而 (21)×(51)=4

1736年,瑞士大数学家 Leonhard Euler(欧拉)对此进行了进一步的研究,讨论了当 n更复杂的数时推导余数序列循环周期的方法,得到了一个非常漂亮的结果:在 1 到 n 的范围内有多少个数和 n 互质(包括1在内),ai 次方除以 n 的余数序列就会有一个多长的周期。为了将上述定理和其他的 “Euler 定理”区别开来,有时也称它为 “Fermat-Euler” 定理。

添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值