1.设p 是奇素数,请证明Zp*的所有生成元都是模p的二次非剩余。*
令a为Zp∗的任意一个生成元,则有a^p − 1^≡ 1(mod p)且p − 1 是使a^p − 1^≡ 1 ( mod p) 成立的最小元素,若a使模p的二次剩余,则根据欧拉准则,则有a^(p − 1/)2^ ≡ 1 ( mod p ),(p − 1)/2 < p − 1,与费尔马小定理矛盾,所以Zp*的所有生成元都是模p 的二次非剩余。
2.编程题
利用二次互反律,写程序完成勒让德符号(p/q)的计算,p 和q 是任意的奇素数。
def legendre_symbol(a, p):#勒让德符号
ans = 0
if a == -1