diff --git a/06IntergersDivisorsAndPrimes.tex b/06IntergersDivisorsAndPrimes.tex new file mode 100644 index 0000000..2f8b43c --- /dev/null +++ b/06IntergersDivisorsAndPrimes.tex @@ -0,0 +1,278 @@ +\chapter{数论} +\section{因数与倍数} +\begin{definition} + 设$a\eqco b$为整数,$a \neq 0$。若有一整数$q$,使得$b = aq$,则称$a$是$b$的\newnoun{因数}{divisor}或$b$是$a$的\newnoun{倍数}{multiple};并称$a$整除$b$,记为$a \mid b$。 + + 若$a$不能整除$b$,记为$a \nmid b$。 + + 若$b = aq$,而$\vert a \vert$既非$\vert b \vert$又非1,则称$a$是$b$的真因数。 +\end{definition} + +\begin{proposition} + 整除具有下列性质: + \begin{multicols}{2} + \begin{enumerate}[label=(\arabic{*})] + \item 对所有$a$,$1 \mid a$。 + \item 对所有$a$,$a \mid 0$。 + \item 对所有$a$,$a \mid a$。 + \item 若$a \mid b$且$b \mid c$,则$a \mid c$。 + \item 若$a \mid b$,且对任意的$c$,有$ac \mid bc$。 + \item 若$ac \mid bc$且$c \neq 0$,则$a \mid b$。 + \item 若$a \mid b$且$a \mid c$,则对任意的$m\eqco n$,有$a \mid (bm + cn)$。 + \item 若$a \mid b$,则$b = 0$或$\vert a \vert < \vert b \vert$。 + \item 若$a \mid b$,则$(-a) \mid b \eqco a \mid (-b) \eqco (-a) \mid (-b) \eqco \vert a \vert \mid \vert b \vert$。 + \end{enumerate} + \end{multicols} +\end{proposition} + +\begin{proposition} + 若$a$是$b \neq 0$的真因数,则$1 < \vert a \vert < \vert b \vert$。 +\end{proposition} + +\begin{proposition} + 若$a \eqco b$是整数,$\vert a \vert < \vert b \vert$且$\vert b \vert \mid \vert a \vert$,则$a = 0$。 +\end{proposition} + +\begin{proposition}[带余除法] + 若$a \eqco b$为两个整数,$a \neq 0$,则唯一存在两个整数$q$和$r$,使得下式成立: + \[b = aq + r \eqco 0 \leq r < \vert a \vert\eqper\] +\end{proposition} + +\section{素数和合数} +在正整数中,1只能被它本身整除。任何大于1的整数都至少能被1和它本身整除。 + +\begin{definition}\label{Definition of prime and composite} + 一个大雨1且只能被1和它本身整除的整数,称为\newnoun{素数}{prime};否则,称为\newnoun{合数}{composite}。 +\end{definition} + +由定义\ref{Definition of prime and composite}可以知道,正整数集合可分为三类:素数、合数和1。素数通常用$p$或$p_1, p_2, \cdots$来表示。 + +\section{整数分解} +整数分解唯一性定理也称为算数基本定理。 + +\begin{theorem}[代数基本定理] + 每个大于1的正整数均可分解成有限个素数之积,并且若不计素因数的次序,其分解是唯一的。 +\end{theorem} + +\begin{proof} + \noindent\emph{先证存在性:} + + 若$a = 2$,则2即为所求的分解式。 + + 假设小于$a$的每个数均可分解为有限个素数之积。考虑$a$。 + \begin{enumerate}[label=(\arabic{*})] + \item 若$a$为素数,则$a$为所求分解式; + \item 若$a$为合数可设$a = cd$,其中$c$和$d$均为大于1的正整数,且$c$和$d$均小于$a$。由归纳假设,$c \eqco d$均有分解式$c = p_1p_2\cdots p_m$,$d = q_1q_2\cdots q_n$,其中$p_1, p_2, \cdots, p_m$与$q_1, q_2, \cdots, q_n$均为素数。因此$a = p_1p_2\cdots p_mq_1q_2\cdots q_n$即为所求的分解。 + \end{enumerate} + + \noindent\emph{再证唯一性:} + + 用反证法:假设有一些数有多种分解。设$n$为其中最小的。那么 + \[n = p_1p_2\cdots p_m = q_1q_2\cdots q_k\eqper\] + 不失一般性可设$p_1$是$p \eqco q$中最小的。注意$p_1$不能和任何一个$q_i$相同。(如果相同,那么$\dfrac{n}{p_1}$也有两种分解方式,这与$n$是最小的有多种分解的假设矛盾。) + + 那么$q_i > p_1$。设$q_i = p_1 a_i + r \eqco 0 < r_i < p_1$($q_i$都为质数,因此不可能被$p_1$整除,$r_i \neq 0$)。令 + \[n' = r_1 r_2 \cdots r_k < p^k < q_1 q_2 \cdots q_k = n\eqper\] + 那么$n' = (q_1 - a_1p_1)(q_2 - a_2p_1) \cdots (q_k - a_kp_1)$,展开式中只有$q_1q_2 \cdot q_k = n$一项不含$p_1$,然而我们知道$n = p_1 \cdot (p_2p_3 \cdots p_m)$,因此$p_1 \mid n'$。再将$\dfrac{n'}{p_1}$分解,乘上$p_1$得到$n'$的一种分解,记为分解一;而之前的$n' = r_1 r_2 \cdots r_k$中,分别将$r_1, r_2, \cdots, r_k$分解后相乘得到的$n'$的分解的每一项一定都小于$p_1$($r_1, r_2, \cdots, r_k$均小于$p_1$,分解后只能更小),这种分解方式一定与分解一不是同一种。那么$n'$也有两种分解方式,这与$n$是最小的有一种以上分解方式的数的假设矛盾,因而假设不成立。 +\end{proof} + +\begin{theorem} + $\sqrt{2}$是无理数。 +\end{theorem} + +\begin{proof} + 假设$\sqrt{2}$是有理数,那么 + \[\sqrt{2} = \frac{a}{b}\] + 于是有$2b^2 = a^2$。考虑等式两边质因数分解时$2$的幂次。 + 假设$a$的质因数分解中2的幂次为$n$,$b$的分解中2的幂次为$m$,那么$a^2$的分解中2的幂次为$2n$,而$2b^2$中2的幂次为$2m+1$,$2n \neq 2m+1$,矛盾!因此假设不成立。 +\end{proof} + +\section{质数} +\begin{definition} + 若正整数$a$有一因数$b$,而$b$又是素数,则称$b$为$a$的素因数。 +\end{definition} + +\begin{proposition} + 若$a$是大于1的整数,则$a$的大于1的最小因数一定是素数。 +\end{proposition} + +本性质说明了任何大于1的整数均可被一素数整除,或者说至少有一素因数。 + +\begin{proposition} + 若$a > 1$是整数而所有不大于$a^{\frac{1}{2}}$的素数都不能整除$a$,则$a$是素数。 +\end{proposition} + +\begin{corollary} + 若$a$是合数,则$a$必有一素因数不大于$a^{\frac{1}{2}}$。 +\end{corollary} + +\begin{theorem} + 素数有无限多个。 +\end{theorem} + +\begin{proof} + 反证法。假设素数是有限多个。设共有$n$个,令他们是$p_1, p_2, \cdots, p_n$,并令$a = p_1 p_1 \cdots p_n + 1$。 + + 若$a$是素数,则因为$a \neq p_i (i = 1, 2, \cdots n)$,因此素数个数至少为$n+1$个,与假设矛盾; + + 若$a$为合数,则其大于1的最小因数$b$是素数。由于$p_i \mid p_1 p_1 \cdots p_n$而$p_i \nmid 1$,因此$p_i \nmid a$,因此$b \neq p_i (i = 1, 2, \cdots n)$,那么$b$也为素数,素数个数至少为$n+1$个,与假设矛盾; + + 因此假设不成立,素数有无限多个。 +\end{proof} + +\begin{theorem} + 对任意的正整数$k$,都有$k$个连续的合数。 +\end{theorem} + +\begin{proof} + 考虑 + \[(k+1)! + 2,(k+1)! + 3, \cdots,(k+1)! + k\] + 这$k$个数分别能被$2, 3, \cdots, k$整除,从而都是合数。 +\end{proof} + +\begin{theorem}[素数定理] + 令$\pi(n)$表示不超过$n$的素数的个数,那么有 + \[\pi(n) \sim \frac{n}{\ln n} \eqper\] +\end{theorem} + +\section{费马小定理} +\begin{theorem}[费马小定理]\label{Fermat's Theorem} + 如果$p$为质数,$a$为整数,则$p \mid a^p - a$。 +\end{theorem} + +\begin{lemma}\label{Lemma for Fermat's Theorem} + 若$p$为质数,则对$0 < k < p$,有$p \mid \binom{p}{k}$。 +\end{lemma} + +\begin{proof} + \begin{align*} + \binom{p}{k} & = \frac{p!}{(p-k)!k!}\\ + p! & = \binom{p}{k}\cdot (p-k)! \cdot k! + \end{align*} + 注意到在等式两边,$p!$的质因数分解中含有$p$而$(p-k)!$和$k!$的质因数分解中一定不含$p$,那么$\binom{p}{k}$的分解中一定含有$p$。 +\end{proof} + +现在我们来证明定理\ref{Fermat's Theorem}。 +\begin{proof} + 对$a$用数学归纳法。 + + 首先,$p \mid 0^p - 0$。 + + 其次,令$a > 0$,并设$a = b+1$。那么 + \begin{align*} + a^p - a & = (b+1)^p - (b+1)\\ + & = b^p + \binom{p}{1}b^{p-1} + \cdots + \binom{p}{p-1}b + 1 - b - 1\\ + & = b^p - b + \binom{p}{1}b^{p-1} + \cdots + \binom{p}{p-1}b + \end{align*} + 由归纳假设,$p \mid b^p - b$,由引理\ref{Lemma for Fermat's Theorem},$p \mid \binom{p}{k}$,因而$p \mid a^p - a$。 +\end{proof} + +\begin{theorem}[费马大定理] + 若$n > 2$,则下列方程没有整数解: + \[x^n + y^n = z^n \eqper\] +\end{theorem} + +\section{辗转相除法} +\subsection{最大公因数} +\begin{definition} + 设$a_1, a_2, \cdots, a_n$和$d$都是正整数,$n \geq 2$。若$d \mid a_i$,$1 \leq i \leq n$,则称$d$是$a_1, a_2, \cdots, a_n$的公因数。 + + 在公因数中最大的一个称为$a_1, a_2, \cdots, a_n$的最大公因数(greatest common divisor),记为$\gcd(a_1, a_2, \cdots, a_n)$。 + + 若$\gcd(a_1, a_2, \cdots, a_n) = 1$,则称$a_1, a_2, \cdots, a_n$是互素的。 +\end{definition} + +\begin{remark} + 在互素的正整数中,不一定有素数;在个数不小于三个的互素正整数中,不一定每两个正整数都是互素的。 +\end{remark} + +\begin{proposition}\label{Property of gcd} + 设$a$和$b$都是正整数,且$a > b$,$a = bq + r$,$0 < r < b$,其中$q$和$r$都是正整数,则 + \begin{enumerate}[label=(\arabic{*})] + \item $a$和$b$的任一公因数也是$b$和$r$的公因数; + \item $b$和$r$的任一公因数也是$a$和$b$的公因数; + \item $\gcd(a,b) = \gcd(b,r)$; + \item 若$\gcd(a, b) = d$,则$\gcd\left(\dfrac{a}{d}, \dfrac{b}{d}\right) = 1$。 + \end{enumerate} +\end{proposition} + +\subsection{辗转相除法求最大公因数} +设$a \geq b > 0$,且 +\begin{align*} + a = bq_1 + r_1 & \qquad 0 < r_1 < b\\ + b = r_1q_2 + r_2 & \qquad 0 < r_2 < r_1\\ + r_1 = r_2q_3 + r_3 & \qquad 0 < r_3 < r_2\\ + \cdots \\ + r_{n-2} = r_{n-1}q_n + r_n & \qquad 0 < r_n < r_{n-1}\\ + r_{n-1} = r_nq_{n+1} + 0 & +\end{align*} +则$\gcd(a, b) = r_n$。 + +\begin{proof} + 由于$b > r_1 > r_2 > \cdots > r_n > 0$因此辗转相除算法中的带余除法必在有限步内得到一个余数是零的等式,即$r_{n+1} = 0$。 + + 由命题\ref{Property of gcd},有 + \begin{align*} + \gcd{a,b} & = \gcd(b, r_1) = \cdots = \gcd(r_{n-1}, r_n)\\ + & = \gcd(r_n, 0) = r_n + \end{align*} +\end{proof} + +\subsection{辗转相除法的时间复杂度} +\begin{lemma} + 算法中的两个数的乘积进行一次算法至少减少一半,即最多为原来的$\dfrac{1}{2}$。 +\end{lemma} + +\begin{proof} + 设$(a, b)$变换为$(b,r)$。欲证$ab > 2br$。 + + 有 + \[0 \leq r = a - bq < b\] + 那么 + \[a = bq + r \geq b + r > 2r\] + 从而 + \[ab > 2br \eqper\] +\end{proof} + +\begin{theorem} + 对$a, b$做辗转相除,算法的步数不超过$\log_2 a + \log_2 b$。 +\end{theorem} + +\begin{proof} + 假设算法运行了$k$步。那么此时的两数乘积最大为$\dfrac{ab}{2^k}$。那么$ab \geq 2^k$,即$k \leq \log_2 a + \log_2 b$。 +\end{proof} + +\subsection{线性组合表示定理} +在辗转相除中,可以反过来用这所有的式子: +\begin{align*} + r_n & = r_{n-2} - r_{n-1}q_n\\ + r_{n-1} & = r_{n-3} - r_{n-2}q_{n-1}\\ + \cdots \\ + r_1 & = a - bq_1\\ +\end{align*} +从最下开始,依次将下式带入上式,最终可以得到$r_n = ma + nb$,其中$m$和$n$都是整数,即$\gcd (a, b)$可由$a$和$b$线性表示。 + +\begin{theorem}[线性组合表示定理] + 若任给整数$a, b > 0$,则存在整数$m$和$n$,使得$\gcd(a, b) = ma + nb$。 +\end{theorem} + +\begin{corollary} + $a$和$b$的公因数整除$\gcd(a,b)$。 +\end{corollary} + +\subsection{最大公倍数} +\begin{definition} + 设$a_1, a_2, \cdots, a_n$和$m$都是正整数,$n \geq 2$。若$a_i \mid m$,$1 \leq i \leq n$,则称$m$是$a_1, a_2, \cdots, a_n$的公倍数。 + + 在$a_1, a_2, \cdots, a_n$所有公倍数中最小的那个称为$a_1, a_2, \cdots, a_n$的最小公倍数(least common multiple),记为$\lcm(a_1, a_2, \cdots, a_n)$。 +\end{definition} + +\begin{proposition} + 设$a$和$b$是正整数,且$\lcm(a,b) = m$。若$m'$是$a$和$b$的公倍数,则$m \mid m'$。 +\end{proposition} + +\begin{proof} + 显然$1 \leq m \leq m'$,利用带余除法可得$m' = mq + r,0 \leq r < m, q > 0$。 + + 由$m' - mq = r$得到$a \mid r, b \mid r$,即$r$是$a$和$b$的公倍数。如果$1 \leq r < m$,则与$m$是$a$和$b$的最小公倍数发生矛盾,因此$r = 0$,即$m' = mq$。 +\end{proof} \ No newline at end of file diff --git a/离散数学.tex b/离散数学.tex index 8e0b136..52fb5a5 100644 --- a/离散数学.tex +++ b/离散数学.tex @@ -10,6 +10,7 @@ \usepackage[inline]{enumitem} \usepackage{float} \usepackage{emptypage} +\usepackage{multicol} \geometry{a4paper,scale=0.8} @@ -17,6 +18,8 @@ \ctexset{fontset=macnew} % \ctexset{fontset=windows} % On Windows +\allowdisplaybreaks[2] + \newtheorem{theorem}{定理}[section] \newtheorem{axiom}{公理}[section] \newtheorem{definition}{定义}[section] @@ -25,6 +28,9 @@ \newtheorem*{corollary*}{推论} \newtheorem{example}{例}[section] \newtheorem{proposition}{命题}[section] +\newtheorem*{remark}{注} + +\DeclareMathOperator{\lcm}{lcm} % \renewcommand{\qedsymbol}{} %去掉证明结尾的方框 @@ -56,4 +62,5 @@ \include{03Binome.tex} \include{04FibonacciNumbers.tex} \include{05CombinatorialProbability.tex} + \include{06IntergersDivisorsAndPrimes.tex} \end{document} \ No newline at end of file