初等数论-01-整数的因子分解

带余除法

\(a,b\)为整数,\(b>0\),则存在唯一整数\(q\)\(r\)使得
$ a=qb + r,0\leq r <b $
带余除法又称欧几里得除法

整除

定义

如果余数\(r=0\), 那么, 我们就称\(b\)整除了\(a\), 记作\(b|a\); 这时我们也称\(b\)\(a\)的因子,\(a\)\(b\)的倍数。(如果余数\(r≠0\), 我们就称\(b\)不能整除\(a\), 记作: \(b∤a\))
(1)如果\(b|a\), 且\(b≠1\)\(b≠a\), 则称\(b\)\(a\)的真因子
(2)当\(b\)\(a\)的因子时, 则存在\(q\)使得\(a=q*b=(-q)(-b)\), 这时\(-b\)也是\(a\)的因子
(3)为了简便, 整数的因子, 总假定为正整数

性质

\(a>0, b>0, c >0\)
(1) 若\(c|b\), \(b|a\), 则\(c|a\)
(2) 若\(b|a\), 则\(bc|ac\)
(3) 若\(c|a\), \(c|b\), 则对任意整数\(m\), \(n\)\(c|(ma+nb)\)

整数的表示

\(a\)进制表示
\(a\)为大于\(1\)的整数,任意正整数\(n\)可以表示为:
\(n=r_0+r_1a+r_2a^2+\ldots +r_ta^t,\)
其中,$ t\ge 0,\quad 0\le r_i<a,i=0,1,\ldots$
称为\(n\)\(a\)进制表示
如何求正整数\(n\)\(a\)进制表示
第一步求\(\{q_i\}\):利用带余除法
\(a\)去除\(n\),$ n=q_0a+r_0,\quad 0\le r_0<a$
\(a\)去除\(q_0\),$ q_0=q_1a+r_1,\quad 0\le r_1<a$
\(\cdots\)
\(a\)去除$ q_i\(,\)q_i=q_{i+1}a+r_{i+1},\quad 0\le r_{i+1}<a$
直到$ q_t<a$
\(n=q_0a+r_0\)
\(=(q_1a+r_1)a+r_0\)
...
\(=(q_{t-1}a+r_{t-1})a^{t-1}+r_{t-2}a^{t-2}\ldots +r_1a+r_0\)
\(=q_{t-1}a^t+r_{t-1}a^{t-1}+\ldots +r_1a+r_0\)

最大公因子与辗转相除法

公因子:设\(a,b\)是两个非零整数,\(d\)为正整数,若\(d|a,d|b\),则称\(d\)\(a\)\(b\)的公因子
最大公因子:设\(a,b\)是两个非零整数,\(d\)为正整数,若:
(1)\(d|a,d|b\)
(2)对\(a\)\(b\)的任意公因子\(e\),皆有\(e|d\)
则称\(d\)\(a\)\(b\)的最大公因子,记为\((a,b)\)
\(n\)个整数的公因子:设\(a_1,...,a_n\)是n个非零整数,\(d\)为正整数,若\(d|a_i,1≤i≤n\),则称\(d\)\(a_1,...,a_n\)的公因子
\(n\)个整数的最大公因子:设\(a_1,...,a_n\)是n个非零整数,\(d\)为正整数
若:(1)\(d|a_i,i=1,2,...,n\),(2)对任意正整数\(e\),若\(e|a_i,1≤i≤n\)\(e|d\)
则称\(d\)\(a_1,...,a_n\)的最大公因子,记为\((a_1,...,a_n)\)
定理A:设a、b、c为三个正整数,且:

\[a=bq+c, \]

其中\(q\)为整数,则\((a,b)=(b,c)\)
定理B:设\(a_{1} ,…,a_{n}\)\(n\)个整数,令:
\((a_{1},a_{2})=d_{1},(d_{1},a_{3})=d_{2},…(d_{n-2},a_{n})=d_{n-1}\)
\((a_{1} ,…,a_{n})=d_{n-1}\)

欧几里得辗转相除法

利用带余除法依次有:
$ a=q_0b+r_0,\quad 0\leq r_0<b$
$ b=q_1r_0+r_1,\quad 0\leq r_1<r_0$
$ r_0=q_2r_1+r_2,\quad 0\leq r_2<r_1$
如此下去
$ r_{i-2}=q_ir_{i-1}+r_i,\quad 0\leq r_i<r_{i-1},\ i=3,4,...$
这样我们便得到一个递减的序列\({r_i}\)
即:\(r_0>r_1>r_2... \geqslant 0\)
也就是说到某一步(比如第n步)有\(r_n=0\)
这时我们就有\(r_{n-2}=q_nr_{n-1}\),即\(r_{n-1}\vert r_{n-2}\)
利用定理A:
\((a,b)=(b,r_0)=(r_0,r_1)\)
\(=\ldots=(r_{i-1},r_i)=\ldots=(r_{n-3},r_{n-2})\)
\(=(r_{n-2},r_{n-1})=r_{n-1}\)

def egcd(a, b):
    """
    扩展欧几里得算法
    返回 (gcd, x, y) 使得 a*x + b*y = gcd(a, b)
    """
    if a == 0:
        return (b, 0, 1)
    else:
        g, y, x = egcd(b % a, a)
        return (g, x - (b // a) * y, y)

辗转相除法的拓展

辗转相除法的进一步扩展
分析上述辗转除法可以发现:
\(r_0=a-q_0b=x_0a+y_0b(x_0=1,y_0=-q_0)\)
\(r_1=b-q_1r_0=q_1a+(1+q_0q_1)b=x_1a+y_1b(x_1=q_1,y_1=1+q_0q_1)\)
利用归纳逆推法,不难发现对任意\(r_i(0\leq i\leq n-1)\),都存在\(x_i,y_i\)满足:\(r_i=x_ia+y_ib\)
而且$ r_i=r_{i-2}-q_ir_{i-1}=x_{i-2}a+y_{i-2}b-q_i(x_{i-1}a+y_{i-1}b)=(x_{i-2}-q_ix_{i-1})a+(y_{i-2}-q_iy_{i-1})b$
$ x_i=x_{i-2}-q_ix_{i-1},y_i=y_{i-2}-q_iy_{i-1}$
\(X_{-2}=1,X_{-1}=0,Y_{-2}=0,Y_{-1}=1\)
\((x_0,y_0),(x_1,y_1),(x_2,y_2),…,(x_{n-1},y_{n-1})\)
\((a,b)=r_{n-1}=x_{n-1}a+y_{n-1}b\)

定理:对任意两个(正)整数\(a\)\(b\),都存在整数\(x\)\(y\),使得:
\((a,b)=xa+yb\)
推论:(1) 设\(d\)\(a\)\(b\)的任一公因子,则\(d|(a,b)\)
(2) 设\(a_1\)\(\ldots\)\(a_n\)\(n\)个整数,则存在整数\(u_1,\ldots,u_n\)满足:
\((a_1,\ldots,a_n)=u_1a_1+\ldots+u_na_n\)

def mod_inverse(a: int, m: int) -> int:
    """
    拓展欧几里得算法求模逆元
    """
    if a < 0:
        a = a % m
        
    original_m = m
    x0, x1 = 0, 1
    while a > 1:
        quotient = a // m
        a, m = m, a % m
        x0, x1 = x1 - quotient * x0, x0
        
    if x1 < 0:
        x1 += original_m
    return x1

整数的唯一分解定理

素数:一个大于\(1\)的正整数\(p\),如果仅以\(1\)和它自身作为其因子,则称\(p\)为素数
复合数:大于\(1\)的非素的自然数,称之为复合数
互素:给定两个整数\(a,b\),如果\((a,b)=1\),则称\(a,b\)互素
关于素数的结果
定理A:设\(p\)为素数,\(a,b\)为整数,若\(p|ab\),则\(p|a\)\(p|b\)
定理B:(唯一分解定理)
任一不为\(1\)的正整数\(n\)均可唯一的表示为:\(n=p_1^{a_1} p_2^{a_2} p_3^{a_3} \cdots p_t^{a_t}\)
这里$ p_1<p_2<p_3<\cdots <p_t\(,\)a_1,\cdots,a_t\(为自然数,上式称为\)n\(的标准分解式 正整数\)n\(分解的存在性,正整数\)n$分解的唯一性

posted @ 2024-12-10 19:48  lumiere_cloud  阅读(131)  评论(0)    收藏  举报