这是7年前的Ethan,当时才二年级:
时光飞逝,现在他已经九年级了。这两张照片是他破解木质智力游戏前后拍摄的。几个月前我回国时我给了他这个小礼物。
快进到 2025.05.09。今天,在 Ethan 的 1 对 1 数学课上,我请他随意写下两个数字,在 TextEdit 里,作为我们要开始计算 GCD(最大公约数)的素材。
他略带攻击性地选了不小的两个数:675 和 534。
“我大概还记得怎么做。”他说着,但屏幕还是一片白。他在拼命回忆,但还是卡住了。
过了一会儿,他打开 Slack,回头翻看我们上次课的记录 —— 有了。他的脑子和手开始联动了。
很快,他一步步地写出如下计算过程,直到最后得到 gcd = 3:
675 = 1*534 + 141
534 = 3*141 + 111
141 = 1*111 + 30
111 = 3*30 + 21
30 = 1*21 + 9
21 = 2*9 + 3
9 = 3*3 + 0
```
此时我引入新的挑战:解线性丢番图方程 675x + 534y = 3
Ethan 顿时懵住了。
我开始引导他:我们可以把刚才的步骤从下往上倒推,在每一行右边记录下当前这一步的表达式。比如最后那一步是:
3 = 21 - 2*9
下一步再带入前一步中 9 的表达式,就变成了:
3 = 21 - 2*(30 - 1*21) = 3*21 - 2*30
我帮他走了两步,并解释我们要干嘛:我们想知道,是多少个 675 和多少个 534 加起来能得 3?
我还故意“剧透”了一点:“你只要撑过前几步,后面就能像搭积木一样逐步搭上去。”
他继续往上走,并开始把每一行的线性组合复制粘贴到计算器里验证。**我没想到,他竟然找到了一个如此机智的方式!**
我们原本的表达式最后算出来是:
-17*675 + 19*534 = -11475 + 10146 = -1329 ≠ 3
我鼓励他说:“你可以直接把表达式复制进计算器检查每一步是不是 3,这样效率高多了。”
但他比我预想得还聪明。他每走一步,就粘贴验证是不是 3。一旦哪一步出错,马上就能找出来!
最后,他找到了 bug:他在写某一行类似于 `-11*141 + 14(534 - 3*141)` 的时候,忘记了把 14 乘进去的第二项。他经常在第二项里漏掉前面的系数。
这个 bug 让我们花了不少时间才定位到。
我忍不住打趣:“哎呀,这种疏忽是三四年级就会做的错误,哈哈!”
他一边笑一边说:“哦哦哦,原来是这里!”
我跟上:“那请掐自己一下腿吧。”
我们这一课,真的是笑点满满,知识点也满满。
Ethan 最后得到了正确答案:
x = -53, y = 67
而他的 TextEdit 文本如下(原汁原味复制自他的笔记):
gcd of 675 and 534
675 = 1*534 + 141
534 = 3*141 + 111
141 = 1*111 + 30
111 = 3*30 + 21
30 = 1*21 + 9
21 = 2*9 + 3 <==(675, 534)
9 = 3*3 + 0
675x + 534y = 3
gcd of 675 and 534
675 = 1*534 + 141 = 14*534 + -53(675-1*534) = -53*675 + 67*534
534 = 3*141 + 111 = -11*141 + 14(534-3*141) = 14*534 + -53*141
141 = 1*111 + 30 = 3*111 + -11(141-1*111) = -11*141 + 14*111
111 = 3*30 + 21 = -2*30 + 3(111-3*30) = 3*111 + -11*30
30 = 1*21 + 9 = 1*21 - 2(30-1*21) = -2*30 + 3*21
21 = 2*9 + 3 3 = 1*21 - 2*9
9 = 3*3 + 0
At first, we got the wrong answer
-17*675 + 19*534 = -11475 +10146 = -1329 ≠ 3
Here is something interesting – a new way to use calculator.
Starting from 1*21 - 2*9, we can copy it to the calculator.
If it is 3, we are good.
Next we copy -2*30 + 3*21 to the calculator.
If it is still 3, we are good.
...
Until the last step.
We copy -53*675 + 67*534 to the calculator.
If it is still 3, we are good.
In our case, it is 3 after we fixed the bug. :D
675x + 534y = 3
x=-53, y=6
这一课我们不只学了数学技巧,更重要的是:我们一起经历了疑惑、出错、怀疑、验证、修正、欣喜。
Ethan 展现出属于他这个年龄的冲劲、聪明和成长中的“马虎”。我则收获了一场有趣的陪跑。
我想,对很多家长来说,这样真实而丰富的课堂经历,才是孩子进步的真正轨迹。
下次,我们来讲讲 Albert 的故事。