导言
数论是信息竞赛 ( ( (当然数竞也要学 ) ) )中一重大分支,其主要研究整数环的整除理论及同余理论,此外它也包括了连分数理论和少许不定方程的问题。本质上说,初等数论的研究手段局限在整除性质上
大纲
- 整除
- 模运算
- 同余
- 排列组合
- 质数筛
- 最大公约数与最小公倍数
- 裴蜀定理
- 拓展欧几里得
- 费马小定理
- 逆元
一.整除
定义:
设 a , b ∈ Z a,b \in \mathbb{Z} a,b∈Z, a ≠ 0 a\neq0 a=0,如果 ∃ \exists ∃一个数 q ∈ Z q \in \mathbb{Z} q∈Z,使得 a ⋅ q = b a \cdot q = b a⋅q=b, 则 b b b能被 a a a整除, 记作 a ∣ b a \mid b a∣b, 否则 a ∤ b a \nmid b a∤b
性质
①:
如果
a
∣
b
a \mid b
a∣b,且
b
∣
c
b \mid c
b∣c,则
a
∣
c
a \mid c
a∣c
证明:
∵ \because ∵ a ∣ b a \mid b a∣b
∴ a ⋅ x = b ( x ∈ Z \therefore a \cdot x = b(x \in \mathbb{Z} ∴a⋅x=b(x∈Z 且 x ≠ 0 ) x\neq0) x=0)
∵ \because ∵ a ∣ c a \mid c a∣c
∴ b ⋅ y = c ( y ∈ Z \therefore b \cdot y = c(y \in \mathbb{Z} ∴b⋅y=c(y∈Z 且 y ≠ 0 ) y\neq0) y=0)
∵ \because ∵ a ⋅ x ⋅ y = c a \cdot x \cdot y = c a⋅x⋅y=c
∴ a ∣ c \therefore a \mid c ∴a∣c
②:
若
a
∣
b
a \mid b
a∣b 且
a
∣
c
a \mid c
a∣c,则
a
∣
(
b
⋅
x
+
c
⋅
y
)
a \mid (b \cdot x + c \cdot y)
a∣(b⋅x+c⋅y)
证明:
设 b = a ⋅ q b=a \cdot q b=a⋅q, c = a ⋅ p c=a \cdot p c=a⋅p
那么 b ⋅ x + c ⋅ y = a ⋅ q ⋅ x + a ⋅ q ⋅ y = a ( q ⋅ x + p ⋅ y ) b \cdot x+c \cdot y=a \cdot q \cdot x+a \cdot q \cdot y=a(q \cdot x+p \cdot y) b⋅x+c⋅y=a⋅q⋅x+a⋅q⋅y=a(q⋅x+p⋅y)
∵ \because ∵ a ∣ a ⋅ ( q ⋅ x + p ⋅ y ) a \mid a \cdot(q \cdot x+p \cdot y) a∣a⋅(q⋅x+p⋅y)
∴ a ∣ ( b ⋅ x + c ⋅ y ) \therefore a \mid (b \cdot x + c \cdot y) ∴a∣(b⋅x+c⋅y)
③:
设
m
≠
0
m \neq 0
m=0,则
a
∣
b
a \mid b
a∣b 等价于
a
⋅
m
∣
b
⋅
m
a \cdot m \mid b \cdot m
a⋅m∣b⋅m
证明:
令 b = a ⋅ x ( x ∈ Z ) b = a \cdot x(x \in \mathbb{Z}) b=a⋅x(x∈Z)
∵ \because ∵ a ⋅ m ∣ a ⋅ m ⋅ x a \cdot m \mid a \cdot m \cdot x a⋅m∣a⋅m⋅x
∴ a ⋅ m ∣ b ⋅ m \therefore a \cdot m \mid b \cdot m ∴a⋅m∣b⋅m
④:
设整数
x
,
y
x,y
x,y 满足下式:
a
⋅
x
+
b
⋅
y
=
1
,
a \cdot x+b \cdot y=1,
a⋅x+b⋅y=1, 且
a
∣
n
a \mid n
a∣n,
b
∣
n
b \mid n
b∣n,那么
a
⋅
b
∣
n
a \cdot b \mid n
a⋅b∣n
证明:
证明 a ⋅ b ∣ n a \cdot b \mid n a⋅b∣n 即证明 n a ⋅ b ∈ Z \dfrac{n}{a \cdot b}\in \mathbb{Z} a⋅bn∈Z
设 a = n k 1 ( k 1 ∈ Z ) , b = n k 2 ( k 2 ∈ Z ) a=\dfrac{n}{k_1}\ (k1\in \mathbb{Z}) , b= \dfrac{n}{k_2}\ (k2\in \mathbb{Z}) a=k1n (k1∈Z),b=k2n (k2∈Z)
那么 n a ⋅ b = n n 2 k 1 ⋅ k 2 = k 1 ⋅ k 2 n \dfrac{n}{a \cdot b}= \dfrac{n}{\dfrac{n^2}{k1 \cdot k2}}= \dfrac{k1 \cdot k2}{n} a⋅bn=k1⋅k2n2n=nk1⋅k2
∵ \because ∵ a ⋅ x + b ⋅ y = 1 a \cdot x+b \cdot y=1 a⋅x+b⋅y=1
∴ \therefore ∴ n ⋅ x k 1 + n ⋅ y k 2 = 1 \dfrac{n \cdot x}{k_1}+\dfrac{n \cdot y}{k_2}= 1 k1n⋅x+k2n⋅y=1
∴ \therefore ∴ n ⋅ x + n ⋅ y = k 1 ⋅ k 2 n \cdot x+n \cdot y=k1 \cdot k2 n⋅x+n⋅y=k1⋅k2
∴ \therefore ∴ n ⋅ ( x + y ) = k 1 ⋅ k 2 n \cdot (x+y)=k1 \cdot k2 n⋅(x+y)=k1⋅k2
∴ \therefore ∴ k 1 ⋅ k 2 n = x + y \dfrac{k1 \cdot k2}{n}=x+y nk1⋅k2=x+y
∵ x , y ∈ Z \because x,y \in \mathbb{Z} ∵x,y∈Z
∴ k 1 ⋅ k 2 n ∈ Z \therefore \dfrac{k1 \cdot k2}{n} \in \mathbb{Z} ∴nk1⋅k2∈Z
∵ \because ∵ n a ⋅ b \dfrac{n}{a \cdot b} a⋅bn = = = k 1 ⋅ k 2 n \dfrac{k1 \cdot k2}{n} nk1⋅k2
∴ n a ⋅ b ∈ Z \therefore \dfrac{n}{a \cdot b} \in \mathbb{Z} ∴a⋅bn∈Z
∴ a ⋅ b ∣ n \therefore a \cdot b \mid n ∴a⋅b∣n
⑤:若
b
=
q
⋅
d
+
c
b=q \cdot d+c
b=q⋅d+c,那么
d
∣
b
d \mid b
d∣b 的充要条件是
d
∣
c
d \mid c
d∣c
备注:充要条件 即充分必要条件,意思是说,如果能从命题
p
p
p推出命题
q
q
q,而且也能从命题
q
q
q推出命题
p
p
p ,则称
p
p
p是
q
q
q的充分必要条件,且
q
q
q也是
p
p
p的充分必要条件
(
1
)
(1)
(1)
若 d ∣ b d \mid b d∣b, 则 b b b 可以表示为 p ⋅ d ( p ∈ Z ) p \cdot d(p \in \mathbb{Z}) p⋅d(p∈Z)
∴ p ⋅ d = q ⋅ d + c \therefore p \cdot d=q \cdot d+c ∴p⋅d=q⋅d+c
∴ ( p − q ) ⋅ d = c \therefore (p-q) \cdot d=c ∴(p−q)⋅d=c
∵ ( p − q ) ∈ Z \because (p-q) \in \mathbb{Z} ∵(p−q)∈Z
∴ d ∣ c \therefore d \mid c ∴d∣c
( 2 ) (2) (2)
d ∣ c d \mid c d∣c, 则 c c c 可以表示为 p ⋅ d ( p ∈ Z ) p \cdot d(p \in \mathbb{Z}) p⋅d(p∈Z)
则 b = q ⋅ d + p ⋅ d = ( q + p ) ⋅ d b=q \cdot d+p \cdot d=(q+p)\cdot d b=q⋅d+p⋅d=(q+p)⋅d
∴ d ∣ b \therefore d \mid b ∴d∣b
二.模运算
定义:
对于整数 a , b a,b a,b,其中 b ≠ 0 b \neq 0 b=0,求 a a a整除 b b b的余数,称为 a a a模 b b b,记为 a a a m o d mod mod b b b
①分配率
1 )
(
a
+
b
)
(a+b)
(a+b)
m
o
d
mod
mod
c
=
(
a
c=(a
c=(a
m
o
d
mod
mod
c
+
b
c+b
c+b
m
o
d
mod
mod
c
)
c)
c)
m
o
d
mod
mod
c
c
c
证明:
设 a = k 1 ⋅ c + r 1 ( k 1 ∈ Z ) a=k_1 \cdot c+r_1(k_1 \in \mathbb{Z}) a=k1⋅c+r1(k1∈Z), b = k 2 ⋅ c + r 2 ( k 2 ∈ Z ) b=k_2 \cdot c+r_2(k_2 \in \mathbb{Z}) b=k2⋅c+r2(k2∈Z)
( a + b ) (a+b) (a+b) m o d mod mod c c c
= [ ( k 1 + k 2 ) ⋅ c + r 1 + r 2 ] =[(k1+k2) \cdot c+r1+r2] =[(k1+k2)⋅c+r1+r2] m o d mod mod c c c
= ( r 1 + r 2 ) =(r1+r2) =(r1+r2) m o d mod mod
( a (a (a m o d mod mod c + b c+b c+b m o d mod mod c ) c) c) m o d mod mod c c c
= ( r 1 + r 2 ) =(r1+r2) =(r1+r2) m o d mod mod c c c
$\therefore $ ( a + b ) (a+b) (a+b) m o d mod mod c = ( a c=(a c=(a m o d mod mod c + b c+b c+b m o d mod mod c ) c) c) m o d mod mod c c c
2 ) ( a − b ) (a-b) (a−b) m o d mod mod c = ( a c=(a c=(a m o d mod mod c − b c-b c−b m o d mod mod c ) c) c) m o d mod mod c c c
与加法分配率类似,故不予证明
3 ) ( a ⋅ b ) (a \cdot b) (a⋅b) m o d mod mod c = ( a c=(a c=(a m o d mod mod c ⋅ b c \cdot b c⋅b m o d mod mod c ) c) c) m o d mod mod c c c
与加法分配率类似,故不予证明
4 ) ( a b ) (a^b) (ab) m o d mod mod c = ( a c=(a c=(a m o d mod mod c c c) b ^b b m o d mod mod c c c
与加法分配率类似,故不予证明
②放缩性
1 ) a a a m o d mod mod b = c b=c b=c,则 a ⋅ d a \cdot d a⋅d m o d mod mod b ⋅ d = c ⋅ d b \cdot d=c \cdot d b⋅d=c⋅d
证明:不妨设 a = k ⋅ b + c ( k ∈ Z ) a=k \cdot b+c(k \in \mathbb{Z}) a=k⋅b+c(k∈Z)
则 ( a ⋅ b ) (a \cdot b) (a⋅b) m o d mod mod ( b ⋅ d ) = ( k ⋅ b ⋅ d + c ⋅ d ) (b \cdot d)=(k \cdot b \cdot d+c \cdot d) (b⋅d)=(k⋅b⋅d+c⋅d) m o d mod mod ( b ⋅ d ) = c ⋅ d (b \cdot d)=c \cdot d (b⋅d)=c⋅d m o d mod mod b ⋅ d b \cdot d b⋅d
∵ \because ∵ a a a m o d mod mod b = c b=c b=c
∴ c < b \therefore c<b ∴c<b
∴ c ⋅ d < b ⋅ d \therefore c \cdot d<b \cdot d ∴c⋅d<b⋅d
∴ \therefore ∴ c ⋅ d c \cdot d c⋅d m o d mod mod b ⋅ d = c ⋅ d b \cdot d=c \cdot d b⋅d=c⋅d
∴ \therefore ∴ a ⋅ d a \cdot d a⋅d m o d mod mod b ⋅ d = c ⋅ d b \cdot d=c \cdot d b⋅d=c⋅d
2 ) a a a m o d mod mod b = c b=c b=c, d ∣ a d \mid a d∣a 且 d ∣ b d \mid b d∣b , a ÷ d a \div d a÷d m o d mod mod b ÷ d = c ÷ d b \div d=c \div d b÷d=c÷d
证明:不妨设 a = k 1 ⋅ d , b = k 2 ⋅ d a=k_1 \cdot d,b=k_2 \cdot d a=k1⋅d,b=k2⋅d
a a a m o d mod mod b = k 1 ⋅ d b=k_1 \cdot d b=k1⋅d m o d mod mod k 2 ⋅ d = k_2 \cdot d= k2⋅d= d ⋅ ( d \cdot( d⋅( k 1 k_1 k1 m o d mod mod k 2 ) k_2) k2)
a ÷ d a \div d a÷d m o d mod mod b ÷ d = k 1 b \div d=k1 b÷d=k1 m o d mod mod k 2 = c k2=c k2=c
三.同余
概念:
设 m m m是给定的正整数,若满足 m ∣ ( a − b ) m \mid (a-b) m∣(a−b),则称 a a a与 b b b对模 m m m同余,记作 a ≡ b ( m o d m ) a \equiv b \pmod m a≡b(modm),若 m ∤ ( a − b ) m \nmid (a-b) m∤(a−b),则 a a a与 b b b对模 m m m不同余
性质
① 自反性: a ≡ a ( m o d m ) a \equiv a \pmod m a≡a(modm)
显然,故不予证明
② 对称性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm),那么
b
≡
a
(
m
o
d
m
)
b \equiv a \pmod m
b≡a(modm)
证明:
∵ a ≡ b ( m o d m ) \because a \equiv b \pmod m ∵a≡b(modm)
∴ \therefore ∴ a a a m o d mod mod m = b m=b m=b m o d mod mod m m m
∴ b ≡ a ( m o d m ) \therefore b \equiv a \pmod m ∴b≡a(modm)
③ 传递性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm) 且
b
≡
c
(
m
o
d
m
)
b \equiv c \pmod m
b≡c(modm),那么
a
≡
c
(
m
o
d
m
)
a \equiv c \pmod m
a≡c(modm)
证明:
∵ a ≡ b ( m o d m ) \because a \equiv b \pmod m ∵a≡b(modm)
∴ \therefore ∴ a a a m o d mod mod m = b m=b m=b m o d mod mod m m m
又 ∵ b ≡ c ( m o d m ) \because b \equiv c \pmod m ∵b≡c(modm)
∴ \therefore ∴ c c c m o d mod mod m = b m=b m=b m o d mod mod m m m
∴ \therefore ∴ a a a m o d mod mod m = c m=c m=c m o d mod mod m m m
∴ a ≡ c ( m o d m ) \therefore a \equiv c \pmod m ∴a≡c(modm)
④ 同加性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm),那么
a
+
c
≡
b
+
c
(
m
o
d
m
)
a+c \equiv b+c \pmod m
a+c≡b+c(modm)
证明:
∵ a ≡ b ( m o d m ) \because a \equiv b \pmod m ∵a≡b(modm)
∴ \therefore ∴ a a a m o d mod mod m = b m=b m=b m o d mod mod m m m
∵ a + c \because a+c ∵a+c m o d mod mod m = a m=a m=a m o d mod mod m + c m+c m+c m o d mod mod m m m
又 ∵ b + c \because b+c ∵b+c m o d mod mod m = b m=b m=b m o d mod mod m + c m+c m+c m o d mod mod m m m
∴ \therefore ∴ a + c a+c a+c m o d mod mod m = b + c m=b+c m=b+c m o d mod mod m m m
∴ \therefore ∴ a + c ≡ b + c ( m o d m ) a+c \equiv b+c \pmod m a+c≡b+c(modm)
⑤ 同减性:若 a ≡ b ( m o d m ) a \equiv b \pmod m a≡b(modm),那么 a − c ≡ b − c ( m o d m ) a-c \equiv b-c \pmod m a−c≡b−c(modm)
与同加性证明类似,故不予证明
⑦ 同减性:若 a ≡ b ( m o d m ) a \equiv b \pmod m a≡b(modm),那么 a − c ≡ b − c ( m o d m ) a-c \equiv b-c \pmod m a−c≡b−c(modm)
与同加性证明类似,故不予证明
⑥ 同乘性:若 a ≡ b ( m o d m ) a \equiv b \pmod m a≡b(modm),那么 a ⋅ c ≡ b ⋅ c ( m o d m ) a \cdot c \equiv b \cdot c \pmod m a⋅c≡b⋅c(modm)
与同加性证明类似,故不予证明
⑧ 同除性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm),且
c
∣
a
c \mid a
c∣a,
c
∣
b
c \mid b
c∣b,
(
a
,
b
)
=
1
(a,b)=1
(a,b)=1,那么$ \dfrac{a}{c} \equiv \dfrac{b}{c} \pmod m$
证明:
不妨设 a = k 1 ⋅ m + r , b = k 2 ⋅ m + r a=k1 \cdot m+r,b=k2 \cdot m + r a=k1⋅m+r,b=k2⋅m+r
$ \dfrac{a-b}{c}= \dfrac{(k1-k2) \cdot m}{c}$
$ \because c \mid a$ 且 c ∣ b c \mid b c∣b
$ \therefore \dfrac{a-b}{c} \in \mathbb{Z}$
$ \therefore \dfrac{(k1-k2) \cdot m}{c} \in \mathbb{Z}$
$ \because (a,b)=1$
$ \therefore c \mid (k1-k2)$
$ \therefore m \mid \dfrac{(k1-k2) \cdot m}{c}$
$ \therefore m \mid \dfrac{a-b}{c})$
$ \therefore \dfrac{a}{c} \equiv \dfrac{b}{c} \pmod m$
⑨ 同幂性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm),那么
a
c
≡
b
c
(
m
o
d
m
)
a^c \equiv b^c \pmod m
ac≡bc(modm)
证明:
∵ a c = ( a \because a^c = (a ∵ac=(a m o d mod mod m ) c m)^c m)c
又 ∵ b c = ( b \because b^c = (b ∵bc=(b m o d mod mod m ) c m)^c m)c
∴ a c = b c \therefore a^c = b^c ∴ac=bc
∴ a c ≡ b c ( m o d m ) \therefore a^c \equiv b^c \pmod m ∴ac≡bc(modm)
⑩ 互加性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm),
c
≡
d
(
m
o
d
m
)
c \equiv d \pmod m
c≡d(modm),那么
a
+
c
≡
b
+
d
(
m
o
d
m
)
a+c \equiv b+d \pmod m
a+c≡b+d(modm)
证明:
不妨设
a = k 1 ⋅ m + r 1 a=k_1 \cdot m+r_1 a=k1⋅m+r1
b = k 2 ⋅ m + r 1 b=k_2 \cdot m+r_1 b=k2⋅m+r1
c = k 3 ⋅ m + r 2 c=k_3 \cdot m+r_2 c=k3⋅m+r2
d = k 4 ⋅ m + r 2 d=k_4 \cdot m + r_2 d=k4⋅m+r2
那么 ( a + c ) (a+c) (a+c) m o d mod mod m = ( r 1 + r 2 ) m=(r1+r2) m=(r1+r2) m o d mod mod m m m
( b + d ) (b+d) (b+d) m o d mod mod m = ( r 1 + r 2 ) m=(r1+r2) m=(r1+r2) m o d mod mod m m m
∴ a + c ≡ b + d ( m o d m ) \therefore a+c \equiv b+d \pmod m ∴a+c≡b+d(modm)
? 互乘性:若
a
≡
b
(
m
o
d
m
)
a \equiv b \pmod m
a≡b(modm),
c
≡
d
(
m
o
d
m
)
c \equiv d \pmod m
c≡d(modm),那么
a
⋅
c
≡
b
⋅
d
(
m
o
d
m
)
a \cdot c \equiv b \cdot d \pmod m
a⋅c≡b⋅d(modm)
证明:
a ⋅ c a \cdot c a⋅c m o d mod mod m = a m=a m=a m o d mod mod m ⋅ c m \cdot c m⋅c m o d mod mod m m m
b ⋅ d b \cdot d b⋅d m o d mod mod m = b m=b m=b m o d mod mod m ⋅ d m \cdot d m⋅d m o d mod mod m m m
∵ a \because a ∵a m o d mod mod m = b m=b m=b m o d mod mod m m m
又 ∵ c \because c ∵c m o d mod mod m = d m=d m=d m o d mod mod m m m
∴ a ⋅ c ≡ b ⋅ d ( m o d m ) \therefore a \cdot c \equiv b \cdot d \pmod m ∴a⋅c≡b⋅d(modm)
推论
①:若2能整除a末位,则
2
∣
a
2 \mid a
2∣a
证明:
设 a a a 为 $ \overline {k_1k_2k_3k_4k_5 \cdots k_n}$
a a a m o d mod mod 2 = ( k 1 k 2 k 3 k 4 k 5 ⋯ k n − 1 ‾ × 10 + k n ) 2=(\overline {k_1k_2k_3k_4k_5 \cdots k_{n-1}}\times 10 + k_n) 2=(k1k2k3k4k5⋯kn−1×10+kn) m o d mod mod 2 = k n 2=k_n 2=kn m o d mod mod 2 2 2
②:若4能整除a末两位,则
4
∣
a
4 \mid a
4∣a
证明:
设 a a a 为 $ \overline {k_1k_2k_3k_4k_5 \cdots k_n}$
a a a m o d mod mod 4 = ( k 1 k 2 k 3 k 4 k 5 ⋯ k n − 2 ‾ × 100 + k n ) 4=(\overline {k_1k_2k_3k_4k_5 \cdots k_{n-2}}\times 100 + k_n) 4=(k1k2k3k4k5⋯kn−2×100+kn) m o d mod mod 4 = k n − 1 k n ‾ 4=\overline {k_{n-1}k_n} 4=kn−1kn m o d mod mod 4 4 4
③:推广,若 2 n 2^n 2n能整除a的末 n n n位,则 2 n ∣ a 2^n \mid a 2n∣a
证法同①②,故不予证明
④:若
3
3
3能整除
a
a
a的各个位之和,则
3
∣
a
3 \mid a
3∣a
证明:
设 a a a 为 $ \overline {k_1k_2k_3k_4}$
a a a m o d mod mod 3 = ( k 1 ⋅ ( 999 + 1 ) + k 2 ⋅ ( 99 + 1 ) + k 3 ⋅ ( 9 + 1 ) + k 4 ) 3=(k_1 \cdot (999 + 1) + k_2 \cdot (99+1)+k_3 \cdot (9+1)+k_4) 3=(k1⋅(999+1)+k2⋅(99+1)+k3⋅(9+1)+k4) m o d mod mod 3 = ( k 1 + k 2 + k 3 + k 4 ) 3=(k_1+k_2+k_3+k_4) 3=(k1+k2+k3+k4) m o d mod mod 3 3 3
⑤:若 9 9 9能整除 a a a的各个位之和,则 9 ∣ a 9 \mid a 9∣a
证法同④,故不予证明
⑥:若
11
11
11能整除
a
a
a的偶数位之和与奇数位之和的差,则
11
∣
a
11 \mid a
11∣a
证明:
设 a a a 为 $ \overline {k_1k_2k_3k_4k_5k_6k_7}$
a a a m o d mod mod 11 = ( k 1 ⋅ ( 999999 + 1 ) + k 2 ⋅ ( 100001 − 1 ) + k 3 ⋅ ( 9999 + 1 ) + k 4 ⋅ ( 1001 − 1 ) + k 5 ⋅ ( 99 + 1 ) + k 6 ⋅ ( 11 − 1 ) + k 7 ) ) 11=(k_1 \cdot (999999 + 1) + k_2 \cdot (100001-1)+k_3 \cdot (9999+1)+k_4 \cdot (1001-1) + k_5 \cdot (99+1) + k_6 \cdot (11-1) + k_7)) 11=(k1⋅(999999+1)+k2⋅(100001−1)+k3⋅(9999+1)+k4⋅(1001−1)+k5⋅(99+1)+k6⋅(11−1)+k7)) m o d mod mod 11 = ( k 1 + k 2 + k 3 + k 4 ) 11=(k_1+k_2+k_3+k_4) 11=(k1+k2+k3+k4) m o d mod mod 11 11 11
⑦:若能被
7
7
7,
11
11
11,
13
13
13整除的数的特征是,这个数末三位与末三位以前所分别组成的数字的差能被
7
7
7,
11
11
11,
13
13
13整除
证明:
结论转化:能被 7 7 7, 11 11 11, 13 13 13整除的数即是能被 1001 1001 1001整除的数
设 a a a 为 $ \overline {k_1k_2k_3k_4k_5k_6k_7}$
a a a m o d mod mod 1001 = ( k 1 k 2 k 3 k 4 ‾ ⋅ ( 1001 − 1 ) + k 1 k 2 k 3 ‾ ) 1001=(\overline {k_1k_2k_3k_4} \cdot (1001-1) + \overline{k_1k_2k_3}) 1001=(k1k2k3k4⋅(1001−1)+k1k2k3) m o d mod mod 1001 = ( k 1 k 2 k 3 ‾ − k 1 k 2 k 3 k 4 ‾ ) 1001=(\overline{k_1k_2k_3}- \overline {k_1k_2k_3k_4}) 1001=(k1k2k3−k1k2k3k4) m o d mod mod 1001 1001 1001
四.排列组合
定义:
- 排列:给定的元素中,取出指定个数的元素,进行排序,记为 A ( A r r a n g e m e n t ) A(Arrangement) A(Arrangement)
- 组合: 给定的元素中,取出指定个数的元素,不考虑排序,记为 C ( C o m b i n a t i o n ) C(Combination) C(Combination)
计算方法
- 排列:情景创造,设从 n n n个小球中取出 m m m个放入指定篮子里,则第一个篮子有 n n n种选择,第二个篮子有 n − 1 n-1 n−1种选择,以此类推,直至最后一个篮子有 n − m + 1 n-m+1 n−m+1种选择,根据乘法原理,故 A m n = ∏ i = m − n + 1 n i A^n_m=\prod_{i=m-n+1}^n \Bbb{i}{} Amn=∏i=m−n+1ni,即 n ! ( n − m ) ! \dfrac{n!}{(n-m)!} (n−m)!n!
- 组合:因为不考虑排序,所以排列即是在每个合法组合中交换两数位置,最终每个组合会多 m ! m! m!种可能,所以 C m n = A m n ÷ m ! = n ! ( n − m ) ! ⋅ m ! C^n_m=A^n_m \div m!=\dfrac{n!}{(n-m)! \cdot m!} Cmn=Amn÷m!=(n−m)!⋅m!n!
盒子与球模型
①球相同,盒不同,无空盒
推导:
设有 n n n个小球和 m m m个盒子
运用隔板法,要满足 m m m个盒子无空盒,则需要 ( m − 1 ) (m-1) (m−1)个隔板,而每两个小球之间有一个缝隙,故有 ( n − 1 ) (n-1) (n−1)个可安插隔板的位置,因为球相同,故使用组合数,最后答案为 C n − 1 m − 1 C^{m-1}_{n-1} Cn−1m−1
如下图,红色代表安插隔板的位置
②球相同,盒不同,有空盒
推导:
∵ \because ∵ 允许空盒
∴ \therefore ∴ 我们先在每个盒子里放上一个虚拟的球,后按无空盒问题处理即可,最后答案为 C n + m − 1 m − 1 C^{m-1}_{n+m-1} Cn+m−1m−1
③球不同,盒相同,无空盒
推导:
定义 d p [ i ] [ j ] dp[i][j] dp[i][j]有 i i i个小球和 j j j个盒子的情况
因为不允许有空盒,所以对于第 i i i个盒子来说,只需考虑两种情况:该小球独占一个盒子和与其他小球用这 j j j个盒子,因为球不同,所以对于第二种情况来说,有 j j j种可能,而对于第一种情况来说,因为盒相同,所以有且只有一种可能
故状态转移方程应为 d p i , j = d p i − 1 , j − 1 + d p i − 1 , j dp_{i,j}=dp_{i-1,j-1}+dp_{i-1,j} dpi,j=dpi−1,j−1+dpi−1,j
④球不同,盒相同,有空盒
推导:
因为与③的差异只在于允许空盒,那么我们只需要在③的基础上枚举有多少个空盒,然后把其累加即可
故答案为 ∑ i = 1 m d p n , i \sum_{i=1}^{m} dp_{n,i} ∑i=1mdpn,i
⑤球不同,盒不同,无空盒
推导:
该模型与与③类似,因为盒不同,所以对于③的每个合法组合都多了 m ! m! m!种可能
故答案为 d p n , m ⋅ m ! dp_{n,m} \cdot m! dpn,m⋅m!
⑥球不同,盒不同,有空盒
推导:
对于每个小球来说都有 m m m种放法
故答案为 m n m^n mn
⑦球相同,盒相同,无空盒
推导:
状态仍旧为 d p i , j dp_{i,j} dpi,j
对于 d p i , k dp_{i,k} dpi,k,因为不允许有空盒,所以我们先借 j j j个小球放入 j j j个盒子里,然后再由$ dp_{i-j,k}(1 \leq k \leq j)$转移过来
故状态转移方程为 d p i , j = ∑ k = 1 j d p i − j , k dp_{i,j}=\sum_{k=1}^{j} dp_{i-j,k} dpi,j=∑k=1jdpi−j,k
答案为 ∑ i = 1 m d p n − m , i \sum_{i=1}^{m} dp_{n-m,i} ∑i=1mdpn−m,i
⑧球相同,盒相同,有空盒
推导:
与②到③的思路无异,先把每个盒子里放入一个虚拟的球,然后按⑦解决即可
故答案为 d p [ n + m ] [ m ] dp[n+m][m] dp[n+m][m]
五.质数筛
相关概念
- 质数:大于 1 1 1的自然数中除了 1 1 1和该数自身外,无法被其他自然数整除的数
- 筛法:顾名思义,就是把一些特定的数筛出去。这里的质数筛法一般指的是把一些数的倍数筛掉。筛到第 n n n个数了,比 n n n小的数就都是质数了
① 暴力筛法
即把
(
1
,
n
]
(1,n]
(1,n]中所有的倍数筛去,留下的即为质数
时间复杂度:
O
(
n
O(n
O(n
ln
\ln
ln
n
)
n)
n)
核心代码:
for (int i = 2 ; i * i <= n ; i ++) {
for (int j = i ; j * i <= n ; j ++) {
vis[i * j] = 1;
}
}
② 埃拉托斯特尼筛法(埃筛)
一个数如果有因子,那它一定有质因子,所以我们只需把质数的倍数筛去即可
时间复杂度:
O
(
n
O(n
O(n
ln
\ln
ln
n
)
n)
n)
核心代码:
for (int i = 2 ; i * i <= n ; i ++) {
if (vis[i]) continue;
for (int j = i ; j * i <= n ; j ++) {
vis[i * j] = 1;
}
}
③ 欧拉筛(线性筛)
埃筛重复计算的原因:一个数被它的多个质因子筛了多次,造成了耗时的增长
解决方案:确保一个数只被它的最小质因子筛掉,这就是欧拉筛的原理
- 建立一个数组 p r i m e prime prime用来保存已知的质数
- 枚举 i ( 1 ≤ i ≤ n ) i(1 \leq i \leq n) i(1≤i≤n),把 i i i作为倍数,并把 p r i m e j ( 1 ≤ j ≤ l e n ) prime_j(1 \leq j \leq len) primej(1≤j≤len)与 i i i的乘积筛去
- 若当前 p r i m e j prime_j primej为 i i i的倍数,则 b r e a k break break,因为 i i i的倍数一定会被 p r i m e j prime_j primej筛掉
- p r i m e prime prime里存储的则是 1 − n 1-n 1−n的质数
时间复杂度:
O
(
n
)
O(n)
O(n)
核心代码:
for (int i = 2 ; i <= n ; i ++) {
if (!vis[i]) a[++ cnt] = i;
for (int j = 1 ; j <= cnt && a[j] * i <= n ; j ++) {
vis[i * a[j]] = 1;
if (i % a[j] == 0) break;
}
}
六.最大公约数与最小公倍数
定义
- g c d gcd gcd: 一般设 a 1 , a 2 , a 3 ⋯ a k a_1,a_2,a_3 \cdots a_k a1,a2,a3⋯ak是 k k k个 Z + \mathbb{Z}^+ Z+,如果存在一个正整数 d d d,使得 d ∣ a 1 , d ∣ a 2 , d ∣ a k d \mid a_1,d \mid a_2,d \mid a_k d∣a1,d∣a2,d∣ak,那么 d d d则为 a 1 a 2 ⋯ a k a_1a_2 \cdots a_k a1a2⋯ak的公约数
- l c m lcm lcm: 一般设 a 1 , a 2 , a 3 ⋯ a k a_1,a_2,a_3 \cdots a_k a1,a2,a3⋯ak是 k k k个 Z + \mathbb{Z}^+ Z+,如果存在一个正整数 d d d,使得 a 1 ∣ d , a 2 ∣ d , a k ∣ d a_1 \mid d,a_2 \mid d,a_k \mid d a1∣d,a2∣d,ak∣d,那么 d d d则为 a 1 a 2 ⋯ a k a_1a_2 \cdots a_k a1a2⋯ak的公倍数
定理
①
l
c
m
(
a
,
b
)
⋅
g
c
d
(
a
,
b
)
=
a
⋅
b
lcm(a,b) \cdot gcd(a,b)=a \cdot b
lcm(a,b)⋅gcd(a,b)=a⋅b
证明:
将 a , b a,b a,b进行质因子分解
设 a , b a,b a,b质因子集合并为 { P 1 , P 2 ⋯ , p n } \{ P_1,P_2 \cdots,p_n \} {P1,P2⋯,pn}
那么,可设 a = ∏ i = 1 n P i k i a=\prod_{i=1}^n P_i^{k_i} a=∏i=1nPiki, b = ∏ i = 1 n P i j i b=\prod_{i=1}^n P_i^{j_i} b=∏i=1nPiji
g c d ( a , b ) = ∏ i = 1 n P i m i n ( k i , j i ) gcd(a,b)=\prod_{i=1}^n P_i^{min(k_i,j_i)} gcd(a,b)=∏i=1nPimin(ki,ji)
l c m ( a , b ) = ∏ i = 1 n P i m a x ( k i , j i ) lcm(a,b)=\prod_{i=1}^n P_i^{max(k_i,j_i)} lcm(a,b)=∏i=1nPimax(ki,ji)
又 ∵ m i n ( k i , j i ) + m a x ( k i , j i ) = k i + j i \because min(k_i,j_i)+max(k_i,j_i)=k_i+j_i ∵min(ki,ji)+max(ki,ji)=ki+ji
∴ g c d ( a , b ) ⋅ l c m ( a , b ) = ∏ i = 1 n P i k i + j i = a ⋅ b \therefore gcd(a,b) \cdot lcm(a,b)=\prod_{i=1}^n P_i^{k_i+j_i}=a \cdot b ∴gcd(a,b)⋅lcm(a,b)=∏i=1nPiki+ji=a⋅b
② 辗转相除法:
g
c
d
(
a
,
b
)
=
g
c
d
(
b
,
a
gcd(a,b)=gcd(b,a
gcd(a,b)=gcd(b,a
m
o
d
mod
mod
b
)
b)
b)
证明:
设 a = k b + r ( k , r ∈ Z ) , d = g c d ( a , b ) a=kb+r(k,r \in \mathbb{Z}),d=gcd(a,b) a=kb+r(k,r∈Z),d=gcd(a,b)
∵ r = a − k b \because r=a-kb ∵r=a−kb
∴ r d = a d − k b d \therefore \dfrac{r}{d}=\dfrac{a}{d}-\dfrac{kb}{d} ∴dr=da−dkb
∵ a d , k b d ∈ Z \because \dfrac{a}{d},\dfrac{kb}{d} \in \mathbb{Z} ∵da,dkb∈Z
∴ d ∣ r \therefore d \mid r ∴d∣r
∵ d \because d ∵d为 b b b的最大因子且为 a a a m o d mod mod b b b的因子
∴ g c d ( b , a \therefore gcd(b,a ∴gcd(b,a m o d mod mod b ) = d b)=d b)=d
七.裴蜀定理
公式
对于不定方程 a x + b y = m ax+by=m ax+by=m,其有解的充要条件是 g c d ( a , b ) ∣ m gcd(a,b) \mid m gcd(a,b)∣m
- 对于充分性,后在扩展欧几里得提及
- 对于必要性
证明:
∵ a x + b y = m \because ax+by=m ∵ax+by=m
∴ \therefore ∴ 有整数 x , y x,y x,y使得 a x + b y = m ax+by=m ax+by=m
又 ∵ g c d ( a , b ) ∣ a \because gcd(a,b) \mid a ∵gcd(a,b)∣a
∵ g c d ( a , b ) ∣ b \because gcd(a,b) \mid b ∵gcd(a,b)∣b
∴ g c d ( a , b ) ∣ ( a ⋅ x + b ⋅ y ) \therefore gcd(a,b) \mid (a \cdot x+b \cdot y) ∴gcd(a,b)∣(a⋅x+b⋅y)
∴ g c d ( a , b ) ∣ m \therefore gcd(a,b) \mid m ∴gcd(a,b)∣m
引理
① 对于
∀
x
,
y
∈
Z
\forall x,y \in \mathbb{Z}
∀x,y∈Z,函数
f
(
x
,
y
)
=
a
⋅
x
+
b
⋅
y
f(x,y)=a \cdot x+b \cdot y
f(x,y)=a⋅x+b⋅y的最小正整数取值为
g
c
d
(
a
,
b
)
gcd(a,b)
gcd(a,b)
证明:
设集合 A = { m ( a ⋅ x + b ⋅ y = m ) , x , y ∈ Z A=\{m(a \cdot x+b \cdot y=m),x,y \in \mathbb{Z} A={m(a⋅x+b⋅y=m),x,y∈Z
结论转化:设 S S S为 A A A中最小的元素,证明 g c d ( a , b ) = s gcd(a,b)=s gcd(a,b)=s 就等价于证明 g c d ( a , b ) ∣ s gcd(a,b) \mid s gcd(a,b)∣s 且 s ∣ g c d ( a , b ) s \mid gcd(a,b) s∣gcd(a,b)
∵ S \because S ∵S为 A A A集中最小元素
$ \therefore $满足线性方程 a ⋅ x 0 + b ⋅ y 0 = S a \cdot x_0+b \cdot y_0=S a⋅x0+b⋅y0=S
又 ∵ g c d ( a , b ) ∣ a \because gcd(a,b) \mid a ∵gcd(a,b)∣a
∴ g c d ( a , b ) ∣ a ⋅ x 0 \therefore gcd(a,b) \mid a \cdot x_0 ∴gcd(a,b)∣a⋅x0
同理 g c d ( a , b ) ∣ b ⋅ y 0 gcd(a,b) \mid b \cdot y_0 gcd(a,b)∣b⋅y0
∴ g c d ( a , b ) ∣ S \therefore gcd(a,b) \mid S ∴gcd(a,b)∣S
设 a = q ⋅ s + r ( 0 ≤ r < s ) a=q \cdot s+r(0 \leq r < s) a=q⋅s+r(0≤r<s)
r r r
= a − q ⋅ s =a-q \cdot s =a−q⋅s
= a − q ⋅ ( a ⋅ x 0 + b ⋅ y 0 ) =a-q \cdot (a \cdot x_0 + b \cdot y_0) =a−q⋅(a⋅x0+b⋅y0)
= a ⋅ ( 1 − q ⋅ x 0 ) + b ⋅ ( − q ⋅ y 0 ) =a \cdot (1-q \cdot x_0)+ b \cdot(- q \cdot y_0) =a⋅(1−q⋅x0)+b⋅(−q⋅y0)
∵ a ⋅ ( 1 − q ⋅ x 0 ) + b ⋅ ( − q ⋅ y 0 ) \because a \cdot (1-q \cdot x_0)+ b \cdot(- q \cdot y_0) ∵a⋅(1−q⋅x0)+b⋅(−q⋅y0)与 a ⋅ x 0 + b ⋅ y 0 a \cdot x_0+b \cdot y_0 a⋅x0+b⋅y0是一致的线性方程
∴ r ∈ A \therefore r \in A ∴r∈A
又 ∵ S \because S ∵S为 A A A中最小的正整数,且 ( 0 ≤ r < s ) (0 \leq r < s) (0≤r<s)
∴ S = 0 \therefore S=0 ∴S=0
∴ S ∣ a \therefore S \mid a ∴S∣a
∴ S ∣ b \therefore S \mid b ∴S∣b
∴ S ∣ g c d ( a , b ) \therefore S \mid gcd(a,b) ∴S∣gcd(a,b)
② 如果 a , b a,b a,b为正整数,且 ( a , b ) = 1 (a,b)=1 (a,b)=1,则不存在小于 b b b的正整数