快速冪 逆元 孿生質數

2021-10-22 23:19:30 字數 1025 閱讀 5888

1.當我們求解分數的冪時,可以利用`逆元`

來求解;

2.用線性篩求出範圍內的所有素數,再遍歷求出孿生素數的個數prim_num;

3.化簡下 primnum/t*(t-1)/2,化簡得 2*prim_num / t*(t-1)

4.再用快速冪求解即可;

**展示

#include

using

namespace std;

typedef

long

long ll;

const ll maxn=

1e7;

const ll inf=

1e9+7;

/**/

//非遞迴快速冪

ll qpow

(ll a,ll b,ll c)

return ans%c;

}ll prim[maxn]

;bool vis[maxn]

;void

qprim()

}}intmain()

//cout/ ll f1=(((t*(t-1))%inf)*qpow(2ll,inf-2,inf))%inf;

// ll f2=(prim_num*qpow(f1,inf-2,inf))%inf;

ll f2=((

2*prim_num)

%inf*

qpow

((t*

(t-1))

%inf,inf-

2,inf)

)%inf;

cout<

}return0;

}

1.逆元確實在演算法競賽中很重要,尤其是和費馬小定理等結合;

2.快速冪在使用時要注意mod使用,千萬不能遺漏;

快速冪 逆元

逆元 乘法逆元 有 a x 1 mod c 稱 x 為 a 與 c 的乘法逆元。理論依據 mod 對於加減乘除都可進行分配 f a mod c f mod c a mod c 如果存在 ax 1 mod c 那麼兩邊同時乘起來,得到 fx mod c 成立條件 1 模方程 a x 1 mod c 存...

演算法 快速冪,快速冪求逆元

基本思想 3 11 11 1011 3 1 3 3 2 9 3 4 81 3 8 6561 3 11 3 9 6561 第一種 當資料範圍m,k,p 10 9 int qmi int m,int k,int p return res 值得一提 k 1 除以2向0取整 詳細可以看狀態壓縮dp 內含位運...

快速冪求逆元

概念 得到 給定nn組ai,piai,pi,其中pipi是質數,求aiai模pipi的乘法逆元,若逆元不存在則輸出impossible。注意 請返回在0 p 10 p 1之間的逆元。乘法逆元的定義 若整數b,mb,m互質,並且對於任意的整數 aa,如果滿足b ab a,則存在乙個整數xx,使得a b...