发布于 ,更新于 ,文章内容可能已经过时

初等数论

质数相关

质数即一个数的因数只包含 和自己。
筛法请见:质数筛法

模运算相关

首先,存在唯一的整数 满足 就是商, 就是余数。
C++ 中模运算可能结果是负数。当 时,模运算结果满足
因此可以使用

1
(n % m + m) % m
复制

进行取余操作。

最大公约数

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main() {
int a,b,r;
cin >> a >> b;
while (a % b) {
r = a % b;
a = b;
b = r;
}
cout << b << endl;
return 0;
}
复制

同余方程相关

同余方程与二元一次不定方程

数论函数

定义域1为正整数的函数。

积性函数

积性函数 满足:,且 ,都有

完全积性函数 满足:满足:,且 ,都有

性质

为积性函数,则以下函数也为积性函数。

  • Dirichlet 卷积

常见积性函数

  • 2(完全积性)
  • 欧拉函数

Dirichlet 卷积

有两个数论函数 ,其狄利克雷卷积计算的结果 即:

后一种形式容易理解一点。人话来解释 的计算过程,就是把 的每一对因数 找出来(即 ),然后计算 ,再对这对东西求和。

上面的式子可以简记为

性质

  • 两个积性函数的狄利克雷卷积形式依然是积性函数。

  • 满足交换律 结合律 分配律

其他东西

  • 单位函数
  • 对于每个 的数论函数 ,都存在一个函数 使 (函数逆元)
  • 整除分块:对于 为定值时, 有大约 种取值。可以用这个做答案关于 相关的问题(把整除结果相同的数算成一个块来求答案,这样的块大约有 个)。
  • 恒等函数,始终等于
  • 单位函数。

  1. 函数 的定义域即为 的取值范围。↩︎

  2. 艾佛森括号 中包含一个条件 ,该表达式当 成立时为 ,否则为 ↩︎