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$

 

P3811 【模板】模意义下的乘法逆元 - 洛谷

给定正整数 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));
}

 

P5431 【模板】模意义下的乘法逆元 2 - 洛谷

给定 n 个正整数 ai​ ,求它们在模 p 意义下的乘法逆元。

 

posted @ 2022-09-22 09:47  董晓  阅读(1442)  评论(0)    收藏  举报