1682: 快速幂求逆元
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:43
解决:0
题目描述
给定 n
组 $a_i,p_i$
,其中$ p_i$
是质数,求 $a_i$
模 $p_i$
的乘法逆元,若逆元不存在则输出"impossible"。
注意:请返回在 $0∼p−1$
之间的逆元。
乘法逆元的定义
若整数 $b,m$
互质,并且对于任意的整数 $a$
,如果满足$ b|a$
,则存在一个整数$ x$
,使得 $$a\div b≡a×x(\mod m)$$
,则称 $x$
为 $b$
的模 $m$
乘法逆元,记为 $b^{−1}(\mod m)$
。
$b$
存在乘法逆元的充要条件是$ b$
与模数 $m$
互质。当模数 $m$
为质数时,$b^{m−2}$
即为 $b$
的乘法逆元。
输入
第一行包含整数 $n$
。
接下来$ n$
行,每行包含一个数组 $a_i,p_i$
,数据保证 $p_i$
是质数。
输出
输出共 $n$
行,每组数据输出一个结果,每个结果占一行。
若 $a_i$
模 $p_i$
的乘法逆元存在,则输出一个整数,表示逆元,否则输出 "impossible"。
样例输入 复制
3
4 3
8 5
6 3
样例输出 复制
1
2
impossible
提示
$1≤n≤10^5
,$
$1≤a_i,p_i≤2∗10^9$