G13【模板】同余式 乘法逆元 费马小定理
G13 同余式 乘法逆元 费马小定理_哔哩哔哩_bilibili
模逆元 - OI Wiki 乘法逆元 - zjp_shadow - 博客园
模意义下的乘法逆元
a 模 p 的乘法逆元定义为 $ax \equiv 1\;(mod \; p)$ 的解
费马小定理:$p$ 为质数,$p \nmid a$,则 $a^{p-1}\equiv 1\;(mod\;p)$
即 $a*a^{p-2}\equiv 1\;(mod \; p)$
即 $x=a^{p-2} \;(mod\;p)→qsm(a,p-2,p)$
例:$3x\equiv 1\;(mod \; 5)$ 解:$x=3^{5-2} \;(mod\;5)→3*3\%5=4,4*3\%5=2→x=2$
给定正整数 n,p(p为质数),求 [1,n] 中所有整数在模 p 意义下的乘法逆元。
// 乘法逆元 费马小定理 O(n*logp) 会TLE #include<bits/stdc++.h> #define ll long long using namespace std; int n,p; int qsm(ll a,int b,int p){ //快速幂 int res=1; while(b){ if(b&1) res=res*a%p; a=a*a%p; b>>=1; } return res; } int main(){ cin>>n>>p; for(int i=1;i<=n;i++) printf("%d\n",qsm(i,p-2,p)); }
给定 n 个正整数 ai ,求它们在模 p 意义下的乘法逆元。
浙公网安备 33010602011771号