因数、倍数与数论
☰ 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和5×3
摆出24个点,再换一种摆法
整除把"整除"这个词钉得清清楚楚——没有余数,一点不剩——而因数和倍数给出了这两个方向的名字。因数对让找因数变得可靠:因数总是成对出现、乘起来等于这个数,所以找12的因数就是检查1 × 12、2 × 6、3 × 4,然后就可以停了,因为再往后配对就会以相反顺序重复。
不用做除法也能判断整除
整除判定法把能更快回答"除不除得尽"的检验方法都收在一起。
| 除数 | 判定法 | 例子 |
|---|---|---|
| 2 | 末位数字是偶数 | 4,718 ✓ |
| 3 | 各位数字之和是3的倍数 | 4, ✓ |
| 4 | 末两位数字能被4整除 | 4, ✓ |
| 5 | 末位是0或5 | 4,715 ✓ |
| 9 | 各位数字之和是9的倍数 | 4, ✓ |
数字和判定法是最有意思的一类,而且这不是巧合:10的每一次幂除以9都余1,所以一个数和它的数字和除以9的余数相同。这个事实比判定法本身更有价值——弃九法验算把它变成几秒钟内核对一次长乘法的办法,而钟面上的模运算正是背后的通用思想:只保留余数的算术,时钟、日历和校验码用的都是这一套。
你来试试
一个数能被 10 整除…
下面哪一个能被 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。
划掉了 2 的倍数,剩下 30 个数:目前划掉的每个数都是 k × p,且 p < 这个数本身
划掉 2、3、5、7 的倍数,数一数剩下多少个
埃拉托斯特尼筛法是找质数最古老的办法,而且它是一个真正好用的算法,不只是课堂上的趣闻:把数字都写出来,留下2,划掉后面2的每个倍数;留下3,划掉它的倍数;这样一直做下去。留下来的就是质数,而且你从头到尾都没有单独去试除任何一个数。
质因数分解是这一切的回报。大于1的每个整数,分解成质数的方式都是唯一的————正是这份独一无二的"指纹",让下一节的内容成立。
该用最大公因数还是最小公倍数?
先判断这道题是要把东西拆成相等的几份,还是在等两件事再次同步。拆成相等的几份,要用最大公因数(HCF),也就是能同时整除两个数的最大的数。等两件事同步,要用最小公倍数(LCM),也就是两个数都能整除它的最小的数。假设有24颗红珠子和36颗蓝珠子,要装进同样的袋子里,不能有剩余。最多能装的袋数就是最大公因数12,每袋装2颗红珠子和3颗蓝珠子。如果一辆车每6分钟发一班,另一辆每8分钟发一班,它们下一次同时发车要等最小公倍数24分钟之后。关键词有时会误导人,不如直接问:答案是要能塞进两个数里面,还是要被两个数都够得到。当两个数没有公共因数时,最大公因数是1,最小公倍数就是它们的乘积,所以8和9的最小公倍数是72。最大公因数乘以最小公倍数,等于两个数相乘的结果,这可以用来核对两者:2 × 24 = 48 = 6 × 8。
3个公共因数中有 0 个位于重叠区域,目前的乘积为 1;把图中所有元素——每个公共因数各算一次——相乘,无论中间是什么,结果都是 2 × 2 × 2 × 3 × 3 = 72
把公共因数滑到重叠区域中
公因数和最大公因数走的是第一个方向:能同时整除两个数的最大的数。12和18的公因数有1、2、3和6,所以最大公因数是6——这是能把两堆东西都不留缝隙地装进去的最大托盘。
公倍数和最小公倍数走的是另一个方向:两个数都能整除它的最小的数。12和18第一次在36相遇——这是一辆12分钟一班和一辆18分钟一班的车第一次再次同时发车的时刻。
最大公因数还是最小公倍数之所以要专门讲,是因为算式本身很少是难点,从应用题里挑对该用哪一个才是。质因数分解能一次回答两个问题:每个公共质数取较低的次方,就是最大公因数;每个质数取较高的次方,就是最小公倍数。
从质因数分解求最大公因数和最小公倍数
对太大、没法一一列出因数的数,就靠质因数分解来解决。把两个数都写成质数相乘的形式,再从同一对行里直接读出两个答案。
和 .
- 最大公因数:取两者共有的每个质数中较低的次方——2 × 3 = 6。只有两边都出现的质数才算数,这就是为什么5和7被忽略。
- 最小公倍数:取两边任意一边出现过的每个质数中较高的次方——,260。
由此还能得到一个好用的核对方法:把最大公因数乘以最小公倍数,得到的总是两个原数相乘的结果。6 × 1,260 = 7,560 = 84 × 90。每个质数都被算了一次较低的次方、一次较高的次方,两者加起来正好是两个原数各自应有的份额。
你来试试
两座灯塔分别每 9 秒和每 12 秒闪一次。它们什么时候会同时闪?
长 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这件事。
31 = (2 × 3 × 5) + 1 除以其中任何一个都余 1,所以它们都不是因数,31 本身就是一个不在列表中的质数
取前六个质数,看看它们的积 + 1 是多少
你来试试
把 2 × 3 × 5 × 7 × 11 相乘,再加上 1。结果是多少?
把 2 × 3 × 5 × 7 相乘,再加上 1。结果是多少?
哪些分数的小数会终止?
一个分数化成最简形式后,如果分母的质因数只有2和5,它的小数就会终止。为什么每个分数不是终止就是循环给出了原因:小数是按十分位、百分位、千分位来计数的,而10的每一次幂都只由2和5构成,因为10 = 2 × 5。以为例,分母是2 × 2 × 5,把分子分母都乘以5,就得到,也就是35个百分之一。分母里只要有别的质因数,就永远凑不出10的幂,除法就停不下来,数字会不断循环。会终止;不会。一定要先约分,因为能约掉的因数不算数:的分母里有一个3,但,这就会终止。要检验一个小数会不会终止,把它写成10的幂做分母的分数就行:。
0.999 > 你的数,所以它不在 0.999… 和 1 之间
找一个严格位于 0.999… 和 1 之间的数。
1/6 永远不会终止:6 有因数 3,它不能整除任何 10 的幂,所以余数会循环,数字每 1 位重复一次
把 d 滑到 16,看看 1/16 为什么会终止
这种循环不只是大概率发生,而是必然发生:除以7只可能剩下1到6这几种余数,所以最多七步之内,余数一定会重复出现,余数一旦重复,数字也就跟着循环了。
把循环小数化成分数是把这个过程倒过来做,靠的是一个小技巧——乘以10的某次幂,让循环节和自己对齐,再相减。x = 0.272727…,所以100x = 27.2727…,99x = 27,得到。
同样的相减手法,也解决了人们常争论的为什么0.999…正好等于1:x = 0.999…,10x = 9.999…,所以9x = 9,x = 1。不是接近1,而是正好等于1。两者之间不存在任何数,而两个数之间什么都塞不下,它们就是同一个数。
你来试试
是有限小数还是循环小数?
是有限小数还是循环小数?
什么是无理数?
无理数是不能写成整数除以整数这种分数形式的数。有理数和无理数用小数来划这条界线:每个分数的小数要么终止要么循环,所以一个永远不循环、也不终止的小数,就不可能是分数。最有名的例子是和。没有一个分数的平方正好等于2。你可以无限接近,比如刚好比2小一点,又比2大一点,但有证明说明,没有任何分数能正好落在2上。完全平方数的平方根是整数,所以是7,的平方根是。计算器上一长串小数,也不能证明一个数是无理数,因为屏幕到了几位数字就会停下来。真正决定一个数是不是无理数的,是它能不能正好写成一个整数除以另一个整数。
分子 = 5,每一次贪心的取法都必须让它变小
一直取放得下的最大单位分数,直到没有剩余。
根号2是无理数证明了这样的数至少存在一个,用的还是反证法。把写成最简形式。两边平方得到,所以是偶数,于是a也是偶数。写a = 2c,同一个方程就变成,所以b也是偶数。可是最简分数不可能分子分母同时是偶数。这个假设不可能成立,所以这样的分数根本不存在。
还有两个较早的想法,把这一支补全。埃及分数与贪心算法讲的是一种只允许使用单位分数的记法————以及那个总能算完的贪心算法,一个藏在趣味题里的真定理。连分数把一个数写成层层嵌套的倒数,能给出最好的分数近似值:就是这样来的,用三位数的分子分母,就能把精确到七位数字。
你来试试
如果 a 是奇数,能推出什么?
如果 是偶数,能推出什么?
三个值得点名的错误
- 把1当成质数。1被特意排除在外:如果1是质数,质因数分解就不再唯一了,因为可以随便往里加任意多个1。
- 混淆这两份清单。因数是有限的,都不超过这个数本身;倍数是无限的,都不小于这个数本身。
- 把0.999…理解成"比1差一点点"。循环小数不是一个正在慢慢逼近某个极限的数;它本身就是那个极限,只是写成了小数的样子。
接下来学什么
因数是分数运算背后的引擎——参见分数、等值与带分数(英文)——终止还是循环的问题,直接接到小数指南那里。幂、方根和根式则在代数式、指数与根式(英文)里接着讲无理数这条线。
到游戏中练习
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是无理数?
- 因为假设它是分数,会导出矛盾。把根号2写成最简分数,两边平方:分子的平方是分母平方的两倍,这就迫使分子必须是偶数,接着又迫使分母也必须是偶数。可是最简分数不可能分子分母同时是偶数。这样的分数根本不存在。