本讲是《CSP复赛专题18-数学专题1》。数学模块是复赛里性价比最高的部分:
知识点固定、代码短、不需要复杂思维,但学生的错误几乎全都出在边界与溢出上——
a*b 溢出、完全平方数重复计、漏掉剩余质因子、i*i 溢出。
因此本讲的教学重心不是"讲公式",而是把每个边界条件做成可观察的现象。
| 环节 | 页码 | 教师活动 | 学生活动 | 时间 |
|---|---|---|---|---|
| ① 整除与约数 | P2 | 讲成对枚举与 √n 分界 | 手算 36 的约数 | 5′ |
| ② 欧几里得 | P3–4 | 动画① + 三种写法 + lcm 先除后乘 | 口述每一步的余数 | 9′ |
| ③ 分解质因数 | P5 | 动画②,强调"剩余 t > 1" | 分解 360 与 97 | 7′ |
| ④ 约数个数/和 | P6 | 动画③(公式 vs 暴力核对) | 先猜再验证 | 8′ |
| ⑤ 成对枚举 | P7 | 动画④,完全平方数去重 | 指出 36 的特判位置 | 5′ |
| ⑥ 例题 | P8–9 | P1029 建模 + ABC180C 思路 | 推导 p·q = y0/x0 | 8′ |
| ⑦ 检测 | P10–11 | 五个失分点 + 五道检测 | 独立完成 | 3′ |
a*b/gcd 在小数据下完全正确,
只有大数才溢出,是典型的隐蔽错误。if (t > 1) cnt *= 2;。
必须用 n = 6(分解为 2 × 3,剩余 3)当场演示漏掉它的后果。