1.设p=23和a=3,使用费尔马小定理计算a^2019 mod p

32019≡322∗91+17≡317 mod 2332≡9 mod 2334≡9∗9≡15 mod 2338≡15∗15≡5 mod 23316≡5∗5≡3 mod 23317≡9 mod 23所以32019 mod 23=93^{2019}\equiv3^{22*91+17}\equiv3^{17}\bmod23\\ 3^{2}\equiv9\bmod 23\\ 3^{4}\equiv9*9\equiv15\bmod 23\\ 3^{8}\equiv15*15\equiv5\bmod23\\ 3^{16}\equiv5*5\equiv3\bmod23\\ 3^{17}\equiv9\bmod 23\\ 所以3^{2019}\bmod23=9

2.使用费尔马小定理求解同余方程x^50=2(mod 17).

x50≡x16∗3+2≡x2≡2 mod 17所以存在整数k使得x2=2+17∗k易解出当k=2时,x=6.x^{50}\equiv x^{16*3+2}\equiv x^{2}\equiv2\bmod17\\ 所以存在整数k使得x^{2}=2+17*k\\ 易解出当k=2时,x=6.

5.请证明13整除2^70+3^70.[提示:这是一道名为证明题的计算题。]

即证明270+370≡0 mod 13即证明212∗5+10+312∗5+10≡0 mod 13根据费马小定理,即证210+310≡0 mod 13即证210≡−310 mod 13因为22≡4 mod 13....210≡10 mod 13又因为−32≡−9 mod 13....−310≡−3≡10−13≡10 mod 13所以得证210≡−310 mod 13,所以13能整除270+370即证明2^{70}+3^{70}\equiv0\bmod 13\\ 即证明2^{12*5+10}+3^{12*5+10}\equiv0\bmod 13\\ 根据费马小定理,即证2^{10}+3^{10}\equiv0\bmod 13\\ 即证2^{10}\equiv-3^{10}\bmod 13\\ 因为2^{2}\equiv4\bmod13\\ ....\\ 2^{10}\equiv10\bmod 13\\ 又因为-3^{2}\equiv-9\bmod13\\ ....\\ -3^{10}\equiv-3\equiv10-13\equiv10\bmod13\\ 所以得证2^{10}\equiv-3^{10}\bmod13,\\ 所以13能整除2^{70}+3^{70}

6.使用欧拉定理计算2^100000 mod 55.

Φ(55)=Φ(5∗11)=Φ(5)∗Φ(11)=4∗10=40.根据欧拉定理2100000≡22500∗40≡1 mod 55所以2100000 mod 55=1\Phi(55)=\Phi(5*11)=\Phi(5)*\Phi(11)=4*10=40.\\ 根据欧拉定理\\ 2^{100000}\equiv2^{2500*40}\equiv1\bmod55\\ 所以2^{100000}\bmod55=1

8.手动计算7^1000的最后两个数位等于什么?

求最后两位数即模100Φ(100)=Φ(22∗52)=Φ(22)∗Φ(52)=Φ2(2)∗Φ2(5)=16.根据欧拉定理71000≡762∗16+8≡78 mod 10072≡49 mod 10074≡1 mod 10078≡1 mod 100.所以最后两个数位等于01求最后两位数即模100\\ \Phi(100)=\Phi(2^{2}*5^{2})=\Phi(2^{2})*\Phi(5^{2})\\ =\Phi^{2}(2)*\Phi^{2}(5)=16.\\ 根据欧拉定理\\ 7^{1000}\equiv7^{62*16+8}\equiv7^{8}\bmod100\\ 7^{2}\equiv49\bmod100\\ 7^{4}\equiv1\bmod100\\ 7^{8}\equiv1\bmod100.\\ 所以最后两个数位等于01

9.编写Python语言程序完成欧拉Phi函数的计算,即输入正整数n,计算并返回φ(n).

import math

def gcd(a,b):
if b==0:
return a
else:
return gcd(b,a%b)

def jud(num):#判断素数
a=1
for i in range(2,math.ceil(math.sqrt(num))):
if num%i==0:
a=0
if a==1:
return 1
else:
return 0

def Phi(n):
if jud(n)==1:
return n-1
else:
count=0
for i in range(1,n):
if gcd(n,i)==1:
count=count+1
return count

10.设p是素数,计算(p-1)! mod p,并找出规律,写成定理,并给出证明。

设(p−1)! mod p=A,代入素数得p=2时,A=1;p=3时,A=2;p=5时,A=4;p=7时,A=6;写出定理:如果p是一个素数,则(p−1)! mod p=p−1.设(p-1)!\bmod p=A,代入素数得\\ p=2时,A=1;\\ p=3时,A=2;\\ p=5时,A=4;\\ p=7时,A=6;\\ 写出定理:如果p是一个素数,则(p-1)!\bmod p=p-1.\\

证明:

因为p是一个素数,所以小于p的所有正整数都与p互素,对于1≤c<p,总存在c的唯一的确定的乘法逆元,使得c∗c−1≡1 mod p(c−1<p),即c−1存在与{1.2.3...p−1}的最小剩余系,除1和p−1外,存在i,j∈{2.3.4...p−2}使得i∗j≡1 mod p,所以(p−1)!≡p−1 mod p,所以(p−1)! mod p=p−1成立。因为p是一个素数,所以小于p的所有正整数都与p互素,\\ 对于1\leq c< p,总存在c的唯一的确定的乘法逆元,\\ 使得c*c^{-1}\equiv1\bmod p(c^{-1}<p),\\ 即c^{-1}存在与\{1.2.3...p-1\}的最小剩余系,\\ 除1和p-1外,存在i,j\in\{2.3.4...p-2\}\\ 使得i*j\equiv 1\bmod p,\\ 所以(p-1)!\equiv p-1\bmod p,\\ 所以(p-1)!\bmod p =p-1 成立。\\