知識點 二次剩餘

2021-09-26 05:37:06 字數 1974 閱讀 1946

求模意義下的平方根

一些公式推導有用

q被稱作模n的二次剩餘quadratic residue當且僅當存在x使得:

x 2=

q(mo

dn

)x^2=q(mod\ n)

x2=q(m

odn)

否則q被稱作二次非剩餘quadratic nonresidue

兩個二次剩餘的乘積還是二次剩餘

模n的二次剩餘的數量不會超過n/2 + 1

模質數的二次剩餘

模2下,所有數都是二次剩餘。下面的質數不包括2

模p下有(p-1)/2個二次剩餘和二次非剩餘。(不包括0)

尤拉準則eulerscriterion可以用來判定某個數是不是模p的二次剩餘:

a p−

12

≡}\equiv \;\;\,1}&}x}a\equiv x^}\\-1}&}\end}}

a2p−1​

≡}=-1

w2p−1​

=−1則(a+

w)p+

12

(a+\sqrt w)^}

(a+w​)

2p+1

​時乙個二次剩餘

有了最後乙個定理,我們就可以通過隨機選擇a的值來找到乙個滿足條件的解。可以證明找到正解所需的次數的期望只有2.

struct field};

field operator

*(field a,field b)

intran()

intpows

(int a,

int b)

return base;

}field powfield

(field a,

int b)

return base;

}int

legander

(int x)

intsurplus

(int x)

field b=

field

(a,1);

b=powfield

(b,(p+1)

/2);

return b.x;

}

log

(p

)log(p)

log(p)

2019牛客多校#9 b quadratic equation 求模意義下二次方程。給你(x+

y)mo

dp=b

(x + y)\ mod\ p = b

(x+y)m

odp=

b ( x×

y)mo

dp=c

(x \times y) \bmod p=c

(x×y)m

odp=

c 即解x 2−

bx+c

≡0

x^2-bx+c\equiv 0

x2−bx+

c≡0

#include

#define ll long long

const

int mo=

1e9+

7,inv2=

(mo+1)

/2;int

pow(

int x,

int n)

intmain()

int x=

(ll)

(v+a)

*inv2%mo;

int y=

(a-x+mo)

%mo;

if(x>y) x^

=y,y^

=x,x^

=y;printf

("%d %d\n"

,x,y);}

}

dedecms二次開發知識點

前端功能開發 1 檔案前面都要載入公共函式 require once dirname file include common.inc.php 2 php檔案在plus裡面,開發是面向過程,action是方法引數,可以用switch來判斷。如 action 是自動獲取的url中的action引數 sw...

二次剩餘小結

對於模數 n 和整數 a 若存在整數 x 滿足 x 2 equiv a mod n 則稱 x 是模 n 意義下的二次剩餘,否則是非二次剩餘 注 這裡討論的 x 滿足 x in 1,n 尤拉判別法 對於奇素數 p a 是模 p 意義下的二次剩餘當且僅當 a equiv 1 mod p 類似的,若 a ...

二次剩餘小記

看 text 的部落格看到的,發現似乎並沒有想象中的那麼難,就學了一下,過了板題,這裡記錄一下,暫時還是只會二次剩餘,n 次剩餘暫時先放一下。下文的 p 即是模數。我們稱 n 為模 p 意義下的二次剩餘當且僅當存在 x 使得 x 2 equiv n pmod p,x in mathbb 下文的 ma...