数论基础(更新中)
标签(空格分隔): 算法笔记 数论
入门知识
本单元难度$\le$小学六年级数学。
1.整数除法
除法是四则运算运算之一,作为乘法的逆运算。已知积与其中一个因数求另一因数的运算叫做除法.
整数除法常有如下表达:
$$a \div b = c \cdots d$$
一般地,我们称 a 为被除数,b 为除数,c 为商,d 为余数.
亦可简单推出如下逆运算:
$$b \times c + d = a$$
2.整除
如果 a 能把 b 除尽,也就是$a \div b$余数为0,则我们称 a 整除 b ,也称 b 被 a 整除.
记为:
$$a|b$$
中间的竖杠表示为整除符号,读作:a 整除 b.
数论之路,皆由“整除”始。
3.整除的性质
自反性
对于任意n,有$n|n$.传递性
对于任意 $a|b,b|c$,都有$a|c$.
4.约数与倍数
如果$a|b$,那么称 a 是 b 的约数,b 是 a 的倍数。同时称,a 是 b 的因子(因数)。
因此,我们有一个重要推论:
对于任何整数$n \ge 2$,$n$至少有两个因子:1和 $n$(它本身).
我们将这两个因子称为$n$的平凡因子.
quiz1.如何计算$[1, n]$中每个数因数的个数?
int p_num[MAXN]; for(int i = 1; i <= n; i ++) for(int j = i; j <= n; j += i) p_num[j] ++; //O(nlogn)
5.质数
一个整数不存在非平凡因子,我们就称它为质数(亦称为素数).
不是质数的整数我们称它为合数,即合数有大于等于一个非平凡因子.
例如:
2 只存在两个平凡因子,即1 和2,不存在非平凡因子.2 是质数.
5 只存在两个平凡因子,即1 和5,不存在费平凡因子.5 是质数.
4 存在非平凡因子 2. 4 不是质数,是合数.
1e9+7 不存在非平凡因子.1e9+7 是质数.
数论都是围绕质数概念所展开,理解质数是走进数论大厦的第一步。