整数的可除性

Posted hahahang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整数的可除性相关的知识,希望对你有一定的参考价值。

整除

定义:设a,b是两个任意的正整数,其中b ( eq) 0,若存在一个整数q,使得:a=qb
则称b整除a,记为b | a。

整除的运算定理
1.设a, b, c ( eq) 0是三个整数,若 c | a, c | b,则对任意整数s, t有:c | (sa+tb)
2.设a, b都是非零整数,若a | b,b | a,则a = (pm)b

Eratoshenes筛法

定理:设n是一个正合数,p是n的一个大于1的最小正因数,则p一定是素数且(pleqsqrt{n})
Eratoshene筛法:设n是正整数,如果对所有素数(pleqsqrt{n})都有p( mid)n,则n一定是素数。

证明:显而易见,如果第一个定理是成立的,那么就很容易得到Eratoshenes筛法,所以这里只需要证明第一个定理
反证法,假设n的大于1的最小正因数p是合数,那么显然(exists)q>1, q | p,则有q | n,所以q也是n的一个大于1的正因数,且q<p,这与p是n的大于1的最小正因数的前提相违,故p是素数。
对于第二个部分同样使用反证法,假设n的大于1的最小正因数(p>sqrt{n}),因为p是n的因数,所以可以设n=pq
(ecause)p是n的最小正因数
( herefore q>p>sqrt{n})
(pq>sqrt{n}*sqrt{n}=n),这与前提条件相违背
(pleqsqrt{n})

欧几里得除法

设a,b是两个整数,其中b>0,则存在唯一的整数q,r,使得a=qb+r且(0leq r <b)

证明:存在性
可以将数轴分成无数个长度为b的区间,即(cdots,-2b,-b,0,b,2b,cdots)
则整数a必然落在其中的一个区间上
( hereforeexists q)使得(qbleq a < (q+1)b)
(r=a-qb),则(a=qb+r)
唯一性
假设分别有整数(q,r,q_1,r_1)使得:
(a=qb+r) ((0leq r<b))
(a=q_1b+r_1) ((0leq r_1<b))
((q-q_1)b=-(r-r_1))
如果(q eq q_1)(|(q-q_1)b|geq b),而(|-(r-r_1)|<b),显然矛盾
(q=q_1) (r=r_1)

定理:设a,b,c是三个全不为零的整数,如果存在整数q使得a=qb+c,则(a,b)=(b,c)

证明:设d=(a,b),则d | a,d | b,由整除的运算定理可知:
d | (a-qb),d | c
( herefore)d是b,c的一个公因数
设d‘=(b,c),则d(leq)d‘且d‘ | b,d‘ | c
则d‘ | (qb+c),d‘ | a
( herefore)d‘是a,b的一个公因数,则d‘(leq)d
( herefore)d=d‘
即(a,b)=(b,c)

广义欧几里得除法:设a,b是两个任意的正整数,记(r_{-2}=a, r_{-1}=b),则反复运用欧几里得除法有:
(r_{-2}=q_0r_{-1}+r_0)
(r_{-1}=q_1r_0+r_1)
(dots)
(r_{n-1}=q_{n+1}r_n+r_{n+1})
(r_n=q_{n+2}r_{n+1}+0)

(r_{n+1})是a,b的最大公因数
通过上面的定理就很容易得到广义欧几里得除法的证明

贝祖等式:设a,b是任意的两个正整数,则存在整数s,t使得sa+tb=(a,b)

贝祖等式的证明同样可以由广义欧几里得除法得到,因为广义欧几里得除法得出了一系列的等式,而(r_{n+1})就等于(a,b),那么在上面的等式用(r_{n+1})依次向上取代便可得到贝祖等式

定理:整数a,b互素的充分必要条件是存在整数s,t使得sa+tb=1

证明:必要性,不难证明,(a,b)=1( ightarrow) sa+tb=1
充分性
设d | a, d | b
(ecause)sa+tb=1
( herefore)d | (sa+tb) = 1
( herefore)d = 1
也就是说只有1能够同时整除a,b,即(a,b)=1

算术基本定理

任意整数n>1都可以表示成素数的乘积,且不考虑乘积顺序的情况下,该表达式是唯一的,即(n=p_1cdots p_s),其中(p_1leqcdotsleq p_s)
标准分解式:任意整数n>1可以唯一的表示成:(n=p_1^{a_1}cdots p_s^{a_s}),其中(a_i)>0,(p_i<p_j(i<j))是素数。

定理:设a,b是两个正整数,且都有素数因数分解式
(a=p_1^{a_1}cdots p_s^{a_s})
(b=p_1^{b_1}cdots p_s^{b_s})
则a,b的最大公因数和最小公倍数为:
((a,b)=p_1^{varphi_1}cdots p_s^{varphi_s}),其中(varphi_i=min(a_i,b_i),i=1,dots,s)
([a,b]=p_1^{psi_1}cdots p_s^{psi_s}),其中(psi_i=max(a_i,b_i),i=1,dots,s)

推论1:(a,b)[a,b]=a,b

证明.
(ecause(a,b)=p_1^{varphi_1}cdots p_s^{varphi_s})
([a,b]=p_1^{psi_1}cdots p_s^{psi_s})
( herefore (a,b)[a,b]=p_1^{varphi_1+psi_1}cdots p_s^{varphi_s+psi_s})
(varphi_i=min(a_i,b_i))(psi_i=max(a_i,b_i))
(ecause max(a,b)+min(a,b)=a+b)
( herefore varphi_i+psi_i=a_i+b_i)
( herefore (a,b)[a,b]=p_1^{a_i+b_i}cdots p_s^{a_s+b_s}=ab)

推论2:(frac{a}{(a,b)})(frac{b}{(a,b)})互素

证明.
(ecause (a,b)=p_1^{varphi_1}cdots p_s^{varphi_s}(varphi_i=mid(alpha_i,eta_i)))
( herefore frac{a}{(a,b)}=p_1^{alpha_1-mid(alpha_1,eta_1)}cdots p_s^{alpha_s-mid(alpha_s,eta_s)})
(frac{b}{(a,b)}=p_1^{eta_1-mid(alpha_1,eta_1)}cdots p_s^{eta_s-mid(alpha_s,eta_s)})
(ecause mid(a-mid(a,b),b-mid(a,b))=0)
( herefore (frac{a}{(a,b)},frac{b}{(a,b)})=p_1^0cdots p_s^0=1)
(frac{a}{(a,b)})(frac{b}{(a,b)})互素

以上是关于整数的可除性的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 这使得整数的可打印范围为32-126(C)

最长可除序列

CodeForces - 876B H - 差异的可分割性

[51NOD1524] 可除图的最大团(组合,dp)

JS中整数除法的精确性

用穷举法找出1~100的质数并显示出来