正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-S 2024 第一轮真题 › 第9题

CSP-S 2024 第一轮 第9题:考虑一个自然数n以及一个模数m,你需要计算n的逆元(即n在模m意义下的乘法逆元)

单项选择 · 初等数论 · 答案 B

题目

考虑一个自然数 $n$ 以及一个模数 $m$,你需要计算 $n$ 的逆元(即 $n$ 在模 $m$ 意义下的乘法逆元)。下列哪种算法最为适合?( )

选项

  • A. 使用暴力法依次尝试
  • B. 使用扩展欧几里得算法
  • C. 使用快速幂法
  • D. 使用线性筛法

答案

B

题解

答案:B. 使用扩展欧几里得算法。

要求 \(n\) 在模 \(m\) 意义下的逆元,就是求整数 \(x\),使得 \[ nx\equiv 1\pmod m, \] 等价于寻找整数 \(x,y\),满足 \[ nx+my=1. \]

扩展欧几里得算法可以求出 \[ nx+my=\gcd(n,m) \] 的一组整数解。因此:

  • 若 \(\gcd(n,m)=1\),逆元存在,取求出的 \(x\),用 \((x\bmod m+m)\bmod m\) 归一化即可。
  • 若 \(\gcd(n,m)\ne1\),逆元不存在。

其他选项中,暴力法效率较低;快速幂常用的 \(n^{m-2}\bmod m\) 求逆元要求 \(m\) 为质数且 \(n\) 不是 \(m\) 的倍数,题目没有保证;线性筛法更适合批量计算特定范围内的逆元。因此选 B。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号