CINTA:作业三
1,设p=23和a=3,使用费马小定理计算a2019 mod p?
答:因为p是素数,32019=322*91+17$\equiv$317(mod 23)
317mod 23 = 16
2,使用费马小定理求解同余方程 x50 ≡ \equiv ≡ 2 (mod 17)
答:因为17是素数,x50=x16*3+2 ≡ \equiv ≡ x2 mod 17
x2 ≡ \equiv ≡ 2 (mod 17) ⇒ \Rightarrow ⇒ x2-2 =k*17(k为整数)
所以 x=$\pm$6
5,请证明13整除270+370
答:因为13是素数,270=212*5+10$\equiv$210(mod 13),370=312*5+10 $\equiv$310(mod 13)
210 mod 13=10,310 mod 13=3,(10+3)%13=0
所以13整除270+370
6,使用欧拉定理计算 2100000mod 55
答: ϕ \phi ϕ(55)= ϕ \phi ϕ(11)* ϕ \phi ϕ(5)=4 * 10 =40
2100000=240*2500+0 ≡ \equiv ≡ 1 (mod 55)
8,手动计算71000的最后两个数位等于什么?
答:把问题转换为 71000 mod 100
ϕ \phi ϕ(100)= ϕ \phi ϕ(22)* ϕ \phi ϕ (52)=2 * 20 =40
71000 =740*25+0 ≡ \equiv ≡ 1 (mod 100)
最后两位为01
9,编写Python语言程序完成欧拉Phi函数的计算,即输入正整数n,计算并返回 ϕ \phi ϕ(x)
def phi_xpown(x,n):
return x**n-x**(n-1)
def phi(x):
if x==1:
return 0
phi_cnum=1
for i in range(2,x):
if x % i==0 :
t=0
while(x%i==0):
x/=i
t+=1
phi_cnum*=phi_xpown(i,t)
if phi_cnum==1:
return x-1
else:
return phi_cnum
10,设p是素数,计算(p-1)! mod p,并找出规律,写成定理,并给出证明
(真的想不出来,上网学了一下威尔逊定理证明的过程)
之前打过表,发现结果都是 p-1
答:条件已有p是素数,
当p=2,(p-1)! ≡ \equiv ≡ -1(mod p)成立
当p=3, (p-1)! ≡ \equiv ≡ -1 (mod p)成立
当 p >=5 时,令M={2,3,4,…,p-2}
对于a属于M,令N={a,2*a,3*,…,(p-2)*a,(p-1)*a}他
令1<=t1<=p-1,1<=t2<=p-1,t1不等于t2
那么t1*a属于N,t2*a属于N
若t1*a ≡ \equiv ≡t2*a (mod p) ,那么|t1-t2|*a ≡ \equiv ≡ 0 (mod p)。
因为|t1-t2|*a属于N,与N中元素不能被p除尽矛盾。
所以t1*a ≡ \equiv ≡t2*a不成立。
那么N中元素对p取模后形成的集合为{1,2,3,4,…,p-1}.
设x*a ≡ \equiv ≡ 1 (mod p)。
当x=1时, x*a=a, 对p取模不为1,所以不成立。
当x=p-1时,(p-1)*a=p*a-a, 对p取模不为1,所以不成立。
当x=a时,a*a$\equivKaTeX parse error: Undefined control sequence: \* at position 18: …(mod p),可得(a+1)\̲*̲(a-1)\equiv$ 0 (mod p),a=1或a=p-1 ,所以不成立。
综上所述,x,a属于M,并且当a不同时,x也随之不同。
所以,M集合中每一个元素a都能够找到一个与之配对的x,使得x*a$\equiv$1 (mod p).
(p-1)!=1*2*3*…p-1
=1*(2*x1)*(3*x3)*…*(p-1)
所以, (p-1)!$\equiv$1*(p-1) (mod p)
即,(p-1)! ≡ \equiv ≡-1 (mod p)
证明完毕