CINTA第6次作业
解:
令
a
=
8
,
b
=
3
,
p
=
11
,
q
=
19
∵
p
,
q
互素
∴
根据
e
g
c
d
算法解
p
p
−
1
≡
1
m
o
d
q
和
q
q
−
1
≡
1
m
o
d
p
得
p
−
1
=
7
,
q
−
1
=
7
∵
n
=
p
q
=
209
∴
x
≡
a
q
q
−
1
+
b
p
p
−
1
m
o
d
n
带入数据解得
x
=
41
\begin{aligned} &令a=8,b=3,p=11,q=19\\ &\because p,q互素\\ &\therefore 根据egcd算法解pp^{-1}\equiv1\mod q和qq^{-1}\equiv1\mod p\\ &得p^{-1}=7,q^{-1}=7\\ &\because n=pq=209\\ &\therefore x\equiv aqq^{-1}+bpp^{-1}\mod n\\ &带入数据解得x=41\\ \end{aligned}
令a=8,b=3,p=11,q=19∵p,q互素∴根据egcd算法解pp−1≡1modq和qq−1≡1modp得p−1=7,q−1=7∵n=pq=209∴x≡aqq−1+bpp−1modn带入数据解得x=41
解:
令
a
0
=
1
,
a
1
=
2
,
a
2
=
3
,
a
3
=
4
,
m
0
=
5
,
m
1
=
7
,
m
2
=
9
,
m
3
=
11
∴
M
=
m
0
m
1
m
2
m
3
=
3465
∴
记
b
0
=
M
/
m
0
=
693
,
b
1
=
M
/
m
1
=
495
,
b
2
=
M
/
m
2
=
385
,
b
3
=
M
/
m
3
=
315
∵
b
0
,
m
0
互素
∴
根据
e
g
c
d
算法解
b
0
b
0
−
1
≡
1
m
o
d
m
0
,
解得
b
0
−
1
=
2
同理可得
b
1
−
1
=
3
,
b
2
−
1
=
4
,
b
3
−
1
=
8
∴
x
≡
a
0
b
0
b
0
−
1
+
a
1
b
1
b
1
−
1
+
a
2
b
2
b
2
−
1
+
a
3
b
3
b
3
−
1
m
o
d
M
带入数据解得
x
=
1731
\begin{aligned} &令a_0=1,a_1=2,a_2=3,a_3=4,m_0=5,m_1=7,m_2=9,m_3=11\\ &\therefore M=m_0m_1m_2m_3=3465\\ &\therefore 记b_0=M/m_0=693,b_1=M/m_1=495,b_2=M/m_2=385,b_3=M/m_3=315\\ &\because b_0,m_0互素\\ &\therefore 根据egcd算法解b_0b_0^{-1}\equiv1\mod m_0,解得b_0^{-1}=2\\ &同理可得b_1^{-1}=3,b_2^{-1}=4,b_3^{-1}=8\\ &\therefore x\equiv a_0b_0b_0^{-1}+a_1b_1b_1^{-1}+a_2b_2b_2^{-1}+a_3b_3b_3^{-1}\mod M\\ &带入数据解得x=1731\\ \end{aligned}
令a0=1,a1=2,a2=3,a3=4,m0=5,m1=7,m2=9,m3=11∴M=m0m1m2m3=3465∴记b0=M/m0=693,b1=M/m1=495,b2=M/m2=385,b3=M/m3=315∵b0,m0互素∴根据egcd算法解b0b0−1≡1modm0,解得b0−1=2同理可得b1−1=3,b2−1=4,b3−1=8∴x≡a0b0b0−1+a1b1b1−1+a2b2b2−1+a3b3b3−1modM带入数据解得x=1731
解:
∵
n
=
221
=
13
∗
17
,
且
13
、
17
为素数
∴
Z
n
∗
≅
Z
p
∗
×
Z
q
∗
∴
2000
⟷
(
11
,
11
)
∴
(
11
,
11
)
2019
=
(
[
1
1
2019
m
o
d
13
]
,
[
1
1
2019
m
o
d
17
]
)
下面分别对
1
1
2019
m
o
d
13
和
1
1
2019
m
o
d
17
进行求解
根据费尔马小定理
,
可得
1
1
12
≡
1
m
o
d
13
,
1
1
16
≡
1
m
o
d
17
∴
1
1
2019
m
o
d
13
=
1
1
168
∗
12
+
3
m
o
d
13
=
1
1
3
m
o
d
13
=
5
同理
1
1
2019
m
o
d
17
=
1
1
126
∗
16
+
3
m
o
d
17
=
1
1
3
m
o
d
17
=
5
∴
(
11
,
11
)
2019
=
(
[
1
1
2019
m
o
d
13
]
,
[
1
1
2019
m
o
d
17
]
)
=
(
5
,
5
)
∴
200
0
2019
m
o
d
221
=
5
\begin{aligned} &\because n=221=13*17,且13、17为素数\\ &\therefore \mathbb{Z}_n^*\cong \mathbb{Z}_p^* \times\mathbb{Z}_q^*\\ &\therefore 2000\longleftrightarrow(11,11)\\ &\therefore (11,11)^{2019}=([11^{2019}\mod 13],[11^{2019}\mod 17])\\ &下面分别对11^{2019}\mod 13和11^{2019}\mod 17进行求解\\ &根据费尔马小定理,可得11^{12}\equiv1\mod 13,11^{16}\equiv1\mod 17\\ &\therefore 11^{2019}\mod 13=11^{168*12+3}\mod 13=11^3\mod 13=5\\ &同理11^{2019}\mod 17=11^{126*16+3}\mod 17=11^3\mod 17=5\\ &\therefore (11,11)^{2019}=([11^{2019}\mod 13],[11^{2019}\mod 17])=(5,5)\\ &\therefore 2000^{2019}\mod 221=5 \end{aligned}
∵n=221=13∗17,且13、17为素数∴Zn∗≅Zp∗×Zq∗∴2000⟷(11,11)∴(11,11)2019=([112019mod13],[112019mod17])下面分别对112019mod13和112019mod17进行求解根据费尔马小定理,可得1112≡1mod13,1116≡1mod17∴112019mod13=11168∗12+3mod13=113mod13=5同理112019mod17=11126∗16+3mod17=113mod17=5∴(11,11)2019=([112019mod13],[112019mod17])=(5,5)∴20002019mod221=5
def exgcd(a, b):
if b == 0:
return 1, 0, a
x, y, q = exgcd(b, a % b)
x, y = y, (x - a // b * y)
return x, y, q
def CRT(a, n):
sum = 0
p = 1
for n_i in n:
p *= n_i
for a_i, n_i in zip(a, n):
q = p // n_i
sum += a_i * q * exgcd(q, n_i)[0]
return sum % p
def main():
a = [1, 2, 3, 4]
n = [5, 7, 9, 11]
ans = CRT(a, n)
print("运用CRT解同余方程:")
for i in range(len(a)):
print("x≡", a[i], " mod ", n[i])
print("x =", ans)
if __name__ == '__main__':
main()