🎁 当前为 免费试看 内容 · 开通VIP 解锁 CSP-J/S 集训全部六大模块 + 真题模考 + 高分技巧

模运算与快速幂

所属模块 竞赛专用数学初赛分值 约 3–6 分出题类型 选择题 / 填空难度 ★★★☆☆近5年频次 每年 1 题

基础概念

基通俗讲解

模运算就是“除以 p 取余数”,结果永远在 0…p-1。快速幂用“平方倍增”把 aⁿ 从乘 n 次降到 log n 次,常配合取模防溢出。

核心必背考点

背直接默写拿分
  • (a+b)%p = (a%p+b%p)%p
  • (a-b)%p = ((a%p-b%p)+p)%p(防负)
  • (a*b)%p = (a%p*b%p)%p
  • 快速幂:aⁿ = (a²)ⁿ/²,n 偶用平方,n 奇多乘一个 a。

高频难点 / 拉分考点

难考场极易丢分

减法取模出现负数:必须 +p 再 %p 修正。初赛填空题常考此处。

出题陷阱

坑文字套路
  • (a^b)%p ≠ (a%p)^(b%p)!指数不能先取模(除非用欧拉定理,初赛不要求)。
  • 除法不能直接分配模,需逆元(超纲,初赛不考)。

90分高分技巧

技速算捷径

求 aⁿ%p:用快速幂模板;小 n 直接算。选择题可特殊值法代入 a=2,n=3,p=5 验证公式。

梯度真题

基础(7+8)%5 的值

15%5=0。

▍解析:答案 0。
中档(2*9)%5 的值

18%5=3。

▍解析:答案 3。
压轴2^10 mod 7

快速幂:2^10=1024,1024%7=2。

C++
1long long powmod(long long a,long long n,long long p){
2 long long r=1; a%=p;
3 while(n){
4 if(n&1) r=r*a%p;
5 a=a*a%p; n>>=1;
6 }
7 return r;
8}
▍解析:答案 2。

记忆口诀

技📌 记忆口诀

“加减乘都可分配,减法要加 p 防负;指数不可先取模,平方倍增快速幂。”

📝 本节自测共 6 题

做完点「提交本节自测」即时判分;单选 / 多选 / 填空混合,答错可一键收入错题本。

(7 + 5) mod 3 的值是?
在 C++ 中,-1 % 3 的结果通常是?
快速幂中反复取模的主要目的是?
用扩展欧几里得求 gcd(30, 12) = ____ 。(填空) 填空题 难
关于质数,下列说法正确的有哪些?(多选) 多选题 难
下列哪些方法可用来求最大公约数?(多选) 多选题 中

🧭 学习路径

收藏后可在 错题本 / 收藏页 查看(仅保存在本机浏览器)
📚 本站为 www.xxw123.com 之「CSP-J/S 初赛集训」栏目 ↩ 返回网站首页

📐 公式速查面板

📝 我的笔记

写下你的心得、易错点、口诀…

已输入 0 字 · 仅存本机 ✓ 自动保存