因数、倍数与数论

☰ Contents

会除法之后,一个问题马上就冒出来:哪些除法能整除?这一整页要回答的就是这个问题,从七岁孩子把筹码摆成相等的几排,到质数永远用不完的证明,都在讲这一件事。

这也是算术里最不像实用、其实最实用的一支。约分是因数的问题。两辆车一起出发,什么时候再次同时出发,是倍数的问题。一个小数会终止还是无限循环,完全由分母的质因数决定。

什么是因数,什么是倍数?

一个数的因数能把它整除,倍数则是这个数乘以某个整数的结果。20的因数是1、2、4、5、10和20,列到这里就停了,因为没有因数会比这个数本身还大。20的倍数是20、40、60、80,这样一直下去,没有尽头。这两个词方向正好相反:4 × 5 = 20,所以4是20的因数,20是4的倍数。因数总是成对出现、乘起来等于这个数,所以从1开始往上找,找到配对开始重复就可以停了。像36 = 6 × 6这样的平方数,有一对是数字乘自己,所以它的因数个数是奇数。整除判定法(英文)能省去逐个尝试的功夫。把每一对乘回去可以核对这份清单:1 × 20、2 × 10和4 × 5都等于20。

3 × 5 = 15

同样的点,换了个方向:3×5和5×3

摆出24个点,再换一种摆法

123456789101112
the factors of 12
12 有六个因数:1、2、3、4、6 和 12。再没有别的数能整除它。 完整课程: 因数

整除把"整除"这个词钉得清清楚楚——没有余数,一点不剩——而因数和倍数给出了这两个方向的名字。因数对让找因数变得可靠:因数总是成对出现、乘起来等于这个数,所以找12的因数就是检查1 × 12、2 × 6、3 × 4,然后就可以停了,因为再往后配对就会以相反顺序重复。

18 = 5 × 3 + 31 × 182 × 93 × 66 factors
从 1 往上试:每个能整除的数都带出搭档。两头相遇就停。 完整课程: 因数对
这种配对,也是平方数因数个数为奇数的原因。36配对成1 × 36、2 × 18、3 × 12、4 × 9,最后是6 × 6——这一对的两半是同一个数,所以只算一次。是九个因数,不是十个。

不用做除法也能判断整除

整除判定法把能更快回答"除不除得尽"的检验方法都收在一起。

123456789101112131415161718192021222324252627282930
even numbers
末位是偶数的数,能被 2 整除。 完整课程: 整除判定法
除数判定法例子
2末位数字是偶数4,718 ✓
3各位数字之和是3的倍数4,713 → 15 ✓
4末两位数字能被4整除4,716 → 16 ✓
5末位是0或54,715 ✓
9各位数字之和是9的倍数4,716 → 18 ✓

数字和判定法是最有意思的一类,而且这不是巧合:10的每一次幂除以9都余1,所以一个数和它的数字和除以9的余数相同。这个事实比判定法本身更有价值——弃九法验算把它变成几秒钟内核对一次长乘法的办法,而钟面上的模运算正是背后的通用思想:只保留余数的算术,时钟、日历和校验码用的都是这一套。

101001000is9 + 199 + 1999 + 1mod 9111
十的每个幂都是一串9再加1,所以每个都余1。 完整课程: 弃九法验算

你来试试

÷ 10what makes a number divide by 10?

一个数能被 10 整除…

15, 14, 17which one divides by 2?

下面哪一个能被 2 整除?

什么是质数?

质数是大于1的整数,且只有1和它本身两个因数——正好两个因数。最初的几个质数是2、3、5、7、11和13。大于1的其他整数都是合数,是更小的数相乘得到的,比如15 = 3 × 5。要判断一个数是不是质数,依次用质数去试除它,一旦某个质数的平方超过了这个数,就可以停下来。以97为例,2、3、5、7都除不尽它,而11 × 11 = 121已经超过97,所以97是质数。之所以能在这里停下,是因为因数总是成对出现,而一对里较小的那个因数乘以自己,永远不会超过这个数本身。1不是质数,因为它只有一个因数;2是唯一的偶质数。像91这样的数,看起来像质数,直到你试到7:91 = 7 × 13。

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596030左端点× 2× 2

划掉了 2 的倍数,剩下 30 个数:目前划掉的每个数都是 k × p,且 p < 这个数本身

划掉 2、3、5、7 的倍数,数一数剩下多少个

埃拉托斯特尼筛法是找质数最古老的办法,而且它是一个真正好用的算法,不只是课堂上的趣闻:把数字都写出来,留下2,划掉后面2的每个倍数;留下3,划掉它的倍数;这样一直做下去。留下来的就是质数,而且你从头到尾都没有单独去试除任何一个数。

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910025left× 2, 3, 5, 7× 7
再划掉 2 的倍数,然后 3 的,一路下去。活下来的都是质数。 完整课程: 埃拉托斯特尼筛法

质因数分解是这一切的回报。大于1的每个整数,分解成质数的方式都是唯一的——180 = 2² × 3² × 5——正是这份独一无二的"指纹",让下一节的内容成立。

32224824
把 24 拆成 3 x 8,冒出来的还是同一批质数 — 算术基本定理。 完整课程: 分解质因数

该用最大公因数还是最小公倍数?

先判断这道题是要把东西拆成相等的几份,还是在等两件事再次同步。拆成相等的几份,要用最大公因数(HCF),也就是能同时整除两个数的最大的数。等两件事同步,要用最小公倍数(LCM),也就是两个数都能整除它的最小的数。假设有24颗红珠子和36颗蓝珠子,要装进同样的袋子里,不能有剩余。最多能装的袋数就是最大公因数12,每袋装2颗红珠子和3颗蓝珠子。如果一辆车每6分钟发一班,另一辆每8分钟发一班,它们下一次同时发车要等最小公倍数24分钟之后。关键词有时会误导人,不如直接问:答案是要能塞进两个数里面,还是要被两个数都够得到。当两个数没有公共因数时,最大公因数是1,最小公倍数就是它们的乘积,所以8和9的最小公倍数是72。最大公因数乘以最小公倍数,等于两个数相乘的结果,这可以用来核对两者:2 × 24 = 48 = 6 × 8。

243622233223最大公因数 = 1最小公倍数 = 2 × 2 × 2 × 3 × 3 = 72

3个公共因数中有 0 个位于重叠区域,目前的乘积为 1;把图中所有元素——每个公共因数各算一次——相乘,无论中间是什么,结果都是 2 × 2 × 2 × 3 × 3 = 72

把公共因数滑到重叠区域中

公因数和最大公因数走的是第一个方向:能同时整除两个数的最大的数。12和18的公因数有1、2、3和6,所以最大公因数是6——这是能把两堆东西都不留缝隙地装进去的最大托盘。

UFactors of 12Factors of 184, 121, 2, 3, 69, 18
12 和 18 共有 1、2、3 和 6。最大的是 6,就叫最大公约数。 完整课程: 最大公约数

公倍数和最小公倍数走的是另一个方向:两个数都能整除它的最小的数。12和18第一次在36相遇——这是一辆12分钟一班和一辆18分钟一班的车第一次再次同时发车的时刻。

06121824
六个六个地数:6、12、18、24。第一个相遇点是 12。 完整课程: 最小公倍数

最大公因数还是最小公倍数之所以要专门讲,是因为算式本身很少是难点,从应用题里挑对该用哪一个才是。质因数分解能一次回答两个问题:每个公共质数取较低的次方,就是最大公因数;每个质数取较高的次方,就是最小公倍数。

分数运算的机制也是从这里来的。约分是把分子分母都除以它们的最大公因数;分母不同的分数相加,需要用到分母的公倍数。觉得分数麻烦的人,通常是觉得因数麻烦——等值分数与带分数(英文)这份指南,用到的正是这一节的全部内容。

从质因数分解求最大公因数和最小公倍数

对太大、没法一一列出因数的数,就靠质因数分解来解决。把两个数都写成质数相乘的形式,再从同一对行里直接读出两个答案。

84 = 2² × 3 × 7 和 90 = 2 × 3² × 5.

12 = 2 × 2 × 3both carry a 2 and a 318 = 2 × 3 × 3HCF = 2 × 3 = 6
用质数看:把两张单子都有的相乘 — 一个 2 一个 3 — 2 × 3 = 6。 完整课程: 最大公约数

由此还能得到一个好用的核对方法:把最大公因数乘以最小公倍数,得到的总是两个原数相乘的结果。6 × 1,260 = 7,560 = 84 × 90。每个质数都被算了一次较低的次方、一次较高的次方,两者加起来正好是两个原数各自应有的份额。

你来试试

givesdivides bothHCFboth divide itLCM

两座灯塔分别每 9 秒和每 12 秒闪一次。它们什么时候会同时闪?

givesdivides bothHCFboth divide itLCM

长 16 米和 24 米的绳子,要剪成长度相同的段。最长能剪多长?

质数会用完吗?

不会,而且证明很短。欧几里得证明质数永远用不完,一开始先假设有人拿到了一份包含所有质数的完整列表。把列表上的所有质数乘起来,再加1。这个新数除以列表上任何一个质数,余数都是1,所以列表上没有一个是它的因数。但大于1的每个整数都有质因数,所以一定有某个质数不在这份列表里,任何有限的列表都不可能是完整的。用列表2、3、5、7来算,新数是2 × 3 × 5 × 7 + 1 = 211,它本身就是质数。新数不一定是质数:2 × 3 × 5 × 7 × 11 × 13 + 1 = 30,031 = 59 × 509。它的质因数照样不在列表里。而13 × 2,310 = 30,030,正好验证了除以13余1这件事。

2 × 3 × 5 + 1 = 3131 ÷ 2余数 131 ÷ 3余数 131 ÷ 5余数 131 是质数一个 ≠ 列表中任何数的质数k = 3

31 = (2 × 3 × 5) + 1 除以其中任何一个都余 1,所以它们都不是因数,31 本身就是一个不在列表中的质数

取前六个质数,看看它们的积 + 1 是多少

suppose 2, 3, 5, 7 were all the primesbuild one more number2·3·5·7 + 1 = 211it leaves remainder 1 every time211 divides by none of them
把它们都乘起来再加1。清单上没有一个数能整除它。 完整课程: 欧几里得证明质数永无穷尽
这是一个反证法证明,也是数学里最干净利落的证明之一:它并不是构造出一个新质数,而是说明"列表已经完整"这个假设自己会站不住脚。这个证明大约出自公元前300年,此后一直没有更好的版本。

你来试试

2 × 3 × 5 × 7 × 11 + 1what does this come to?

把 2 × 3 × 5 × 7 × 11 相乘,再加上 1。结果是多少?

2 × 3 × 5 × 7 + 1what does this come to?

把 2 × 3 × 5 × 7 相乘,再加上 1。结果是多少?

哪些分数的小数会终止?

一个分数化成最简形式后,如果分母的质因数只有2和5,它的小数就会终止。为什么每个分数不是终止就是循环给出了原因:小数是按十分位、百分位、千分位来计数的,而10的每一次幂都只由2和5构成,因为10 = 2 × 5。以7/20为例,分母是2 × 2 × 5,把分子分母都乘以5,就得到35/100,也就是35个百分之一。分母里只要有别的质因数,就永远凑不出10的幂,除法就停不下来,数字会不断循环。1/8 = 0.125会终止;1/3 = 0.333…不会。一定要先约分,因为能约掉的因数不算数:6/15的分母里有一个3,但6/15 = 2/5,这就会终止。要检验一个小数会不会终止,把它写成10的幂做分母的分数就行:1/8 = 125/1000。

10.90.990.9990.99990.999990.9999991 − 0.999 = 10⁻³

0.999 > 你的数,所以它不在 0.999… 和 1 之间

找一个严格位于 0.999… 和 1 之间的数。

1/6 = 0.16…循环节 16 = 2 × 33 不能整除任何 10 的幂,所以 1/d ≠ 十分之一、百分之一、……d = 6

1/6 永远不会终止:6 有因数 3,它不能整除任何 10 的幂,所以余数会循环,数字每 1 位重复一次

把 d 滑到 16,看看 1/16 为什么会终止

8576built from2·2·2572·3digitsstopstoprecurrecur
10是2 × 5,所以十的幂能吸收2和5。任何其他因数都永远清不掉。 完整课程: 为什么每个分数不是有限就是循环

这种循环不只是大概率发生,而是必然发生:除以7只可能剩下1到6这几种余数,所以最多七步之内,余数一定会重复出现,余数一旦重复,数字也就跟着循环了。

把循环小数化成分数是把这个过程倒过来做,靠的是一个小技巧——乘以10的某次幂,让循环节和自己对齐,再相减。x = 0.272727…,所以100x = 27.2727…,99x = 27,得到x = 27/99 = 3/11。

x = 0.474747…two repeating digits, so × 100100x = 47.4747…the endless tails cancel100x − x = 47
99x = 47, so
乘到末尾对齐,相减,无穷的部分就自动消失了。 完整课程: 把循环小数变成分数

同样的相减手法,也解决了人们常争论的为什么0.999…正好等于1:x = 0.999…,10x = 9.999…,所以9x = 9,x = 1。不是接近1,而是正好等于1。两者之间不存在任何数,而两个数之间什么都塞不下,它们就是同一个数。

999910x−0999x90009x
相减:每个9抵消一个9,剩下9x = 9——所以x = 1。 完整课程: 为什么0.999…恰好等于1

你来试试

21.000

1/2 是有限小数还是循环小数?

111.000

1/11 是有限小数还是循环小数?

什么是无理数?

无理数是不能写成整数除以整数这种分数形式的数。有理数和无理数用小数来划这条界线:每个分数的小数要么终止要么循环,所以一个永远不循环、也不终止的小数,就不可能是分数。最有名的例子是√2和π。没有一个分数的平方正好等于2。你可以无限接近,比如(7/5)² = 49/25刚好比2小一点,(3/2)² = 9/4又比2大一点,但有证明说明,没有任何分数能正好落在2上。完全平方数的平方根是整数,所以√49是7,9/4的平方根是3/2。计算器上一长串小数,也不能证明一个数是无理数,因为屏幕到了几位数字就会停下来。真正决定一个数是不是无理数的,是它能不能正好写成一个整数除以另一个整数。

5/757/125/74/13

分子 = 5,每一次贪心的取法都必须让它变小

一直取放得下的最大单位分数,直到没有剩余。

as a fractionits decimal0.753/4stops0.333…1/3repeats√2nonenever repeats
没有任何分数等于√2,所以它叫无理数。 完整课程: 有理数和无理数

根号2是无理数证明了这样的数至少存在一个,用的还是反证法。把√2 = a/b写成最简形式。两边平方得到a² = 2b²,所以a²是偶数,于是a也是偶数。写a = 2c,同一个方程就变成b² = 2c²,所以b也是偶数。可是最简分数不可能分子分母同时是偶数。这个假设不可能成立,所以这样的分数根本不存在。

a = 2k, so
, so b is even too
contradiction
a and b both even, yet the fraction was lowest
so is not a fraction
写a = 2k,结果b也是偶数——所以它从来都不是最简形式。 完整课程: 2的平方根是无理数

还有两个较早的想法,把这一支补全。埃及分数与贪心算法讲的是一种只允许使用单位分数的记法——3/7 = 1/3 + 1/11 + 1/231——以及那个总能算完的贪心算法,一个藏在趣味题里的真定理。连分数把一个数写成层层嵌套的倒数,能给出最好的分数近似值:355/113就是这样来的,用三位数的分子分母,就能把π精确到七位数字。

你来试试

a is oddwhat follows from this?

如果 a 是奇数,能推出什么?

is even
what follows from this?

如果 a² 是偶数,能推出什么?

三个值得点名的错误

接下来学什么

因数是分数运算背后的引擎——参见分数、等值与带分数(英文)——终止还是循环的问题,直接接到小数指南那里。幂、方根和根式则在代数式、指数与根式(英文)里接着讲无理数这条线。

到游戏中练习

Math Challenge把以上每一步都做成了图解课程——筛法是一张你亲眼看着填满的网格,最大公因数是一份共有因数清单,欧几里得的证明也一行行摆开——全部收在800多节课的课程库里。要练手,最大公因数和最小公倍数专题和质数专题会一直练到你反应够快为止。相关指南:算术方法。

轮到你了

三题试一试,点选作答。

12和18的最大公因数

下面哪一个是质数?

4和6的最小公倍数

常见问题

因数和倍数有什么区别?
因数能把一个数整除;倍数是拿这个数乘出来的结果。12的因数是1、2、3、4、6和12,列到这里就停了。12的倍数是12、24、36、48,一直往下数,没有尽头。同一个关系从两头看:3是12的因数,正好等价于12是3的倍数。
怎么判断一个数能不能被3整除?
把各位数字加起来;如果总和能被3整除,这个数也能。以4,713为例,各位数字加起来是15,15能被3整除,所以4,713也能。这个判法成立,是因为10的每一次幂都比3的倍数多1——10、100、1000除以3都余1——所以每一位数字对余数的贡献,就是它本身。
最大公因数和最小公倍数有什么区别?
最大公因数是能同时整除两个数的最大的数;最小公倍数是两个数都能整除它的最小的数。对12和18来说,最大公因数是6,最小公倍数是36。把东西切成相等的份,要用最大公因数;两个循环周期再次相遇,要用最小公倍数。问一问自己是在往小里拆,还是往大里建,就能定下来用哪个。
质数会不会有穷尽的一天?
不会,欧几里得在公元前300年左右就证明了这一点。假设存在一份完整的质数列表。把它们全部乘起来,再加1。这个新数除以列表上任何一个质数,余数都是1,所以列表上没有一个质数能整除它——可是大于1的每个数都有质因数。那个质因数不在列表里,所以任何列表都不可能是完整的。
0.999…真的等于1吗?
是的,是精确相等——不是接近。设x = 0.999…,那么10x = 9.999…,两式相减得9x = 9,所以x = 1。0.999…和1之间不存在任何数,而两个数之间如果什么都塞不下,它们就是同一个数。这个循环记法,是1的另一个名字,就像2/4是二分之一的另一个名字。
为什么根号2是无理数?
因为假设它是分数,会导出矛盾。把根号2写成最简分数,两边平方:分子的平方是分母平方的两倍,这就迫使分子必须是偶数,接着又迫使分母也必须是偶数。可是最简分数不可能分子分母同时是偶数。这样的分数根本不存在。