整除理论(一)基本知识

145 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

符号说明

符号

说明

NN

全体自然数,即正整数组成的集合: 1,2,3,...,n,n+1,...1,2,3,...,n,n+1,...

ZZ

全体整数组成的集合: ...,n1,n,...,2,1,0,1,2,...,n,n+1,......,-n-1,-n,...,-2,-1,0,1,2,...,n,n+1,...

Z[x]Z[x]

全体一元整系数多项式组成的集合

aba\mid b

a 整除 b

aba\nmid b

a 不整除 b

p,p,p1,p2,...p,p',p_1,p_2,...

表素数(不可约数)

akba^k\|b

akb,ak+1ba^k\mid b,a^{k+1}\nmid b

(a1,a2)(a_1,a_2)

a1a_1a2a_2 的最大公约数

(a1,a2,...,ak)(a_1,a_2,...,a_k)

a1,a2,...,aka_1,a_2,...,a_k 的最大公约数

[a1,a2][a_1,a_2]

a1a_1a2a_2 的最小公倍数

[a1,a2,...,ak][a_1,a_2,...,a_k]

a1,a2,...,aka_1,a_2,...,a_k 的最小公倍数

δm(a)\delta_m(a)

a 对模 m 的指数

[x][x]

实数 x 的整数部分

{x}\{x\}

实数 x 的小数部分

nx\sum_{n\le x} (n<x\sum_{n<x})

对不超过(小于)实数 x 的正整数 n 求和

px\sum_{p\le x} (p<x\sum_{p<x})

对不超过(小于)实数 x 的素数 p 求和

da\sum_{d\mid a} (da\prod_{d\mid a})

对 n 的所有正除数 d 求和(积)

pa\sum_{p\mid a} (pa\prod_{p\mid a})

对 n 的所有素除数 p 求和(积)

自然数与整数

归纳原(公)理SSNN 的一个子集,满足条件:

  1. 1S1\in S;
  2. 如果 nSn\in S,则 n+1Sn+1\in S

那么 S=NS=N

数学归纳法P(n)P(n) 是关于自然数 nn 的一种性质或命题,如果

  1. n=1n=1 时,P(1)P(1) 成立;
  2. P(n)P(n) 成立必可推出 P(n+1)P(n+1) 成立,

那么 P(n)P(n) 对所有自然数成立。

第二种数学归纳法P(n)P(n) 是关于自然数 nn 的一种性质或命题,如果

  1. n=1n=1 时,P(1)P(1) 成立;
  2. n>1n>1 时,若对所有的自然数 m<nm<n,P(m)P(m) 成立,则必可推出 P(n)P(n) 成立,

那么 P(n)P(n) 对所有自然数 nn 成立。

鸽巢原理nn 是一个自然数,现有 nn 个盒子和 n1n-1 个物体,无论如何把这 n+1n+1 个物体放入这 nn 个盒子中,一定有一个盒子中被放了两个或两个以上物体。

整除的基本知识

整除的定义与基本性质

整除a,bZ,a0a,b\in Z,a\neq 0。若存在 qZq\in Z,使得 b=aqb=aq,那么就说 bb 可以被 aa 整除,记作 aba\mid b,且称 bbaa 的倍数,aabb 的约数。bb 不能被 aa 整除记作 aba\nmid b

整除的性质

  1. ababababa\mid b\Leftrightarrow-a\mid b\Leftrightarrow a\mid -b\Leftrightarrow |a|\mid|b|
  2. (ab)(bc)ac(a\mid b)\wedge(b\mid c)\Rightarrow a\mid c
  3. (ab)(ac)a(bx+cy),x,yZ(a\mid b)\wedge(a\mid c)\Rightarrow a\mid(bx+cy), \forall x,y\in Z
  4. m0m\neq 0,则 abmamba\mid b\Leftrightarrow ma\mid mb
  5. (ab)(ba)b=±a(a\mid b)\wedge (b\mid a)\Rightarrow b=\pm a
  6. b0b\neq 0,则 ababa\mid b\Rightarrow|a|\le|b|
  7. a0,b=qa+ca\neq 0,b=qa+c,则 aa 整除 bb 的充分必要条件是 aa 整除 cc

素数与合数

素数 设整数 p0,±1p\neq 0,\pm 1,且除了 ±1,±p\pm 1,\pm p外没有其他约数,则称 pp 为素数。若整数 a0,±1a\neq 0,\pm 1,且不是素数,则称 aa 为合数。

为了方便,以后若无特殊说明,素数总是指正的。

一个整数的除数如果是素数,这个除数就称为该整数的素因数。

唯一分解定理 设整数 a>2a\gt 2,那么 aa 一定可以表示为素数的乘积,即 a=p1p2...psa=p_1p_2...p_s,其中 pj(1js)p_j(1\le j\le s)是素数。且该表示式在不记 pj(1js)p_j(1\le j\le s) 次序的一一下是唯一的。

以下是用C语言分解质因数的代码实现。

#include <stdio.h>
int p[101],tot;
void getsplit(int a)
{
	tot=0;
	int x=a;
	for (long long i=2;i*i<=x;++i)
		while (x%i==0) p[++tot]=i,x/=i;
	if (x>1) p[++tot]=x;
	printf("%d=%d",a,p[1]);
	for (int i=2;i<=tot;++i) printf("*%d",p[i]);
}
int main()
{
    int a;
    scanf("%d",&a);
    getsplit(a);
    return 0;
}