例题一|两种票允许零张
四元票 x 张、七元票 y 张,共60元,x、y 为非负整数。求所有买法。
- 由7y≤60,得 y=0、1、…、8。
- 4x=60−7y。右侧被4整除,当且仅当 y 被4整除,所以 y=0、4、8。
- 逐一计算 x:(60−0)/4=15;(60−28)/4=8;(60−56)/4=1。
- 得到有序对 (15,0)、(8,4)、(1,8),共3组。验算为60+0、32+28、4+56,都等于60。
若要求两类都至少1张,只保留后两组,共2组。不能在数非负解时提前排除零。
数论与整数方法
范围定边界,余数定步长,再代回数解。
视频加载失败,请检查assets文件夹完整,或直接打开MP4。
自拟题:四元票买 x 张,七元票买 y 张,共花60元,两类均允许买零张。求所有非负整数解,即 x≥0、y≥0 且都是整数。每一组 (x,y) 是一种买法。
4x+7y=60
第1步 / 共5步:先确定范围
7y≤60,所以 y 只能取0到8,共9个整数候选。x 随 y 唯一确定。
对应左侧当前步骤
9个候选
这里的9表示 y 的候选数,还不是合法解数。下一步利用余数条件筛掉不可能的数量。
票面矩形只表示一张票,不以面积表示价格;交换只在整数端点计数。
学会给变量设整数范围,用整除与余数压缩枚举,并解释答案为什么不重不漏。前置:一元一次方程、整数四则运算、整除、除法余数、最大公因数。若尚未学习负整数,可先完成买票模型;一般整数边界可后读。
本页仅讨论两个未知数的一次整数条件,主要形式 ax+by=c,其中 a、b、c 是给定正整数。x、y 的范围由题意另定。本页不覆盖二次、高次或一般不定方程。
S班是本项目的深度编排,涉及余数筛选与带下限的数解,不代表已核实的当地官方六上必学课纲。
“整数”允许负数与0;“非负整数”包含0、排除负数;“正整数”从1开始。一个方程可能有无穷多整数解,却只有有限多个非负整数解。买票、人数等数量通常另有非负或正数条件。
在 ax+by=c 中,若 a、b>0 且 x、y≥0,则 by≤c,所以 0≤y≤⌊c/b⌋。符号 ⌊u⌋ 表示不超过 u 的最大整数。选定 y 后,x=(c−by)/a,不需要同时盲试两个变量。
要使 x=(c−by)/a 为整数,必须且只须 c−by 能被 a 整除。买票题中,60与4x都能被4整除,所以7y也必须能被4整除。因为7=4+3,只须判断3y的余数。
| y除以4的余数 | 3y除以4的余数 | 是否保留 |
|---|---|---|
| 0 | 0 | 保留 |
| 1 | 3 | 排除 |
| 2 | 2 | 排除 |
| 3 | 1 | 排除 |
因此 y 只能是4的倍数,在0到8内只剩0、4、8。记作 y≡0(mod 4),意思是 y 除以4余0。不是“看到7就令 y 是7的倍数”,筛选的除数来自要消去的4x。
对保留的每个 y 计算 x,再检查所有范围和附加条件。任一合法解必落在已列的范围内,也必通过整除条件,所以不会漏掉;每个 y 只决定一个 x,所以不会重复。
对于两个解 (x₁,y₁)、(x₂,y₂),两式相减得 a(x₂−x₁)=−b(y₂−y₁)。设 d 是 a、b 的最大公因数,约去 d 后两个系数互质,所以 y 的差必须是 a/d 的倍数,x 的差相应为 −b/d 的倍数。本页主例中 d=1,得到步长 Δy=4、Δx=−7。
非负条件给 t≥0、t≤15/7,因此 t=0、1、2,共3组。这里 t 表示交换次数,不是新增未知物品。若允许所有整数,任意整数 t 都成立,就有无穷多组。
四元票 x 张、七元票 y 张,共60元,x、y 为非负整数。求所有买法。
若要求两类都至少1张,只保留后两组,共2组。不能在数非负解时提前排除零。
6元笔记本 x 本、10元笔记本 y 本,共花86元。6元本至少2本,10元本至少1本,问共有多少种买法?
如果只解约分后的方程,还会看到 (1,8)。它满足等式,却违反 x≥2,不能计入。相邻合法解的 x 减少5、y增加3,价值变化均为30元。
例题与练习均为本页自拟教学题。
求5x+8y=64的所有非负整数解。如果改成正整数解,有几组?
0≤y≤8。8y除以5的余数要与64相同,即3y除以5余4。检查余数可得 y 除以5余3,所以 y=3、8。
代回 x=(64−8y)/5:y=3时 x=8;y=8时 x=0。非负整数解为(8,3)、(0,8),共2组。验算40+24=64、0+64=64。改为正整数时,去掉 (0,8),仅剩1组。
求6x+10y=7的整数解。若改成非负整数解,结论会改变吗?
6x和10y都是2的倍数,即使 x、y 是负整数,左边仍为偶数。右边7为奇数,因此没有整数解。非负整数只是整数的一部分,也没有解。
先查最大公因数:6与10的最大公因数是2,而2不能整除7,已足以判无解,无须设置很大的试数表。
确定整数种类与附加条件 → 用范围划定候选 → 用整除余数压缩 → 代回检查 → 说明不重不漏。要数解,先回答“哪些值可取”,再回答“每个值是否合格”。
文字稿默认展开。点击章节标题,定位到视频中的对应讲解。
四元和七元的两类票,共花六十元,各买多少张?设张数为 x 和 y,允许零张。
七元票最多八张。先把 y 限定为零到八的整数,避免漫无边际地试。
总价六十和四元票的钱都是四的倍数,所以七倍的 y 也必须是四的倍数。
七除以四余三。检查 y 的四类余数,只有余零时合格。因此只试零、四、八。
逐个代回,得到十五和零、八和四、一和八。三组都满足总价六十元。
范围已经穷尽,余数筛选又是必要条件。每个合格的 y 只对应一个 x,所以不重不漏。
看相邻两组解:七元票增加四张,四元票减少七张。两边都变化二十八元。
整数解沿固定步长移动。继续走到负数,就越过了买票数量的边界。
若两类票都至少一张,十五和零要删去,只剩两组。整数解不等于正整数解。
还要先看能否整除。例如六倍 x 加十倍 y 等于七,左边必为偶数,所以无整数解。