观察
- 筛 2 的时候划掉了一大片。接着筛 3:这一轮新划掉的数里,最小的是几?筛 5、筛 7 呢?
- 每一轮新划掉的最小的数总是 p2。为什么 2p、3p 这些更小的倍数早就不在了?
- 筛完 7,按钮就不让按了。下一个素数是 11,可是 112=121 已经超出了 100。
- 把 N 调到 150 重新筛。比刚才多用了哪个素数?为什么只多这一个?
大于 1 的整数,如果只有 1 和它自己两个正因数,叫素数(质数);否则叫合数。1 两边都不算。
先猜后证
要判断 223 是不是素数,用素数去试除,最多试到哪一个就够了?
先选定答案,才能看到结论。
✓ 猜对了!✗ 和你想的不一样——这正是值得停一下的地方。
152=225>223,所以 223<15。不超过 14 的素数只有 2,3,5,7,11,13 六个。
六次都除不尽,于是 223 是素数。试到一半(111)当然也对,只是白白多做了几十次除法。
为什么
“只需要试到 n” 靠的是下面这个小结论。
合数一定有一个不超过 √n 的素因数
第 1 / 5 步 -
合数能拆成两个数 设 n 是合数。它有一个不是 1 也不是 n 的因数,于是 n=ab,其中 1<a≤b。
n=a⋅b,1<a≤b
-
小的那个不会太大
-
再取 a 的一个素因数
-
放到筛子里看
-
四轮之后
素数用得完吗
筛子可以一直筛下去吗?会不会到某个地方之后,再也没有素数了?
先猜后证
把前六个素数乘起来再加 1:2×3×5×7×11×13+1=30031。它是素数吗?
先选定答案,才能看到结论。
✓ 猜对了!✗ 和你想的不一样——这正是值得停一下的地方。
30031=59×509,是合数。但请注意 59 和 509:它们是新的素数,不在 2,3,5,7,11,13 里面。
这不是巧合。设 N=p1p2⋯pk+1。N 被每个 pi 除都余 1,所以 N 的任何一个素因数都不在 p1,…,pk 之中。
也就是说:任何一张有限的素数清单都不完整。素数有无穷多个。 这是欧几里得两千多年前的证明。
练一练
写出 40 到 60 之间的所有素数。
提示 · 第一步剩下的奇数:41,43,47,49,51,53,57,59。其中 49=72,51=3×17,57=3×19。
91、97、119、127 这四个数里,有几个是素数?
提示 · 方法每个数用 2,3,5,7,11 试除。
完整解答91=7×13,119=7×17,是合数;97 和 127 都不被 2,3,5,7,11 整除,是素数。共 2 个。
素数 p 使得 p+10 和 p+14 也都是素数。求 p。
提示 · 方向先试几个小素数,看看总是哪里出问题。
提示 · 第一步p+10 与 p+1 被 3 除余数相同,p+14 与 p+2 余数相同。p,p+1,p+2 中必有一个被 3 整除。
完整解答p、p+10、p+14 中必有一个是 3 的倍数,它又是素数,只能等于 3。后两个都大于 3,所以 p=3。检验:13、17 都是素数。
求所有正整数 n,使得 n2−8n+15 是素数。
提示 · 方法素数写成两个整数的积,只能是 1×p 或 (−1)×(−p)。
提示 · 第一步n2−8n+15=(n−3)(n−5)。让其中一个因数等于 ±1。
完整解答n−5=1 时 n=6,值为 3;n−3=−1 时 n=2,值为 (−1)×(−3)=3;n−3=1 或 n−5=−1 时 n=4,值为 −1,不是素数。所以 n=2 或 6。