洛谷P3811 【模板】乘法逆元
题目描述
给定n,p求1~n中所有整数在模p意义下的乘法逆元。
输入输出格式
- 输入格式:
一行n,p - 输出格式:
n行,第i行表示i在模p意义下的逆元。
输入输出样例
- 输入样例1:
10 13 - 输出样例1:
1
7
9
10
8
11
2
5
3
4
说明
1 ≤ \leq ≤ n ≤ \leq ≤ 3 × \times × 1 0 6 10 ^ 6 106, n < p < 20000528
输入保证 p 为质数。
逆元简介
乘法逆元,主要用于求 a b \frac{a}{b} ba mod p 的值(p通常为质数),是解决模意义下分数数值的必要手段。
- 逆元定义
若a ∗ * ∗ x ≡ \equiv ≡ 1 (mod b),且a与b互质,那么我们就称: x 为 a 的逆元。
所以要求在mod p 意义下的 a b \frac{a}{b} ba,我们就可以求出 b 在 mod p 下的逆元,然后乘上 a,再 mod p,就是这个分数的值了。
a的逆元记作 a − 1 a^{-1} a−1。
方法一:拓展欧几里得求单个逆元
此方法最为常用,尤其在p很大的情况下。同时只需a与p互质即可,并不需要p是质数。
由逆元的定义,我们要求a在模p意义下的乘法逆元,既要求b,使得