数论笔记(Full Version)

一、数论基础:

1、整除:

  1. 重新定义除法:

    对于计算式:\(a\div b\) 来说,其结果可以变化为以下的式子:$$a = b\lfloor \frac{a}{b} \rfloor + a \bmod b$$其中,\(\lfloor \dfrac{a}{b} \rfloor\) 为商,\(a \bmod b\) 为余数。

  2. 定义:对于任意计算式 \(a\div b\) 来说,若其余数为 \(0\),则我们称作 \(b\) 能整除 \(a\),记做 \(b\mid a\)。

2、质数(素数):

  1. 定义:指除了 \(1\) 和其本身以外不能再被其他数所整除的数,我们称其为质数。
  2. 几个经典的质数:\(2,3,998244353,10^9+7\)。

3、模运算:

  1. 性质:

    1. 加法:\((a+b)\bmod c = (a\bmod c+b\bmod c)\bmod c\)。
    2. 减法:\((a-b)\bmod c=(a\bmod c - b\bmod c + c)\bmod c\)。
    3. 乘法:\((a\times b)\bmod c = a\bmod c \times (b\bmod c) \bmod c\)。

4、\(\gcd(a,b)\) 和 \(\operatorname{lcm}(a,b)\):

  1. \(\gcd(a,b)\):

    1. 作用:求得 \(a\),\(b\) 的最大公因数。
    2. 性质:
      1. \(\gcd(a,b) = \gcd(b,a)\)。
      2. \(\gcd(a,b) = \gcd(-a,b)\)。
      3. \(\gcd(a,b) = \gcd(|a|,|b|)\)。
      4. 若有 \(d\mid a\) 且 \(d \mid b\),则有 \(d\mid \gcd(a,b)\)。
      5. \(\gcd(a,0) = a\)。
      6. \(\gcd(a,ka) = a\)。
      7. \(\gcd(an,bn) = n \gcd(a,b)\)。
      8. \(\gcd(a,b) = \gcd(a,ka+b)\)。
    3. 实现:辗转相除法(欧几里得算法):
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}
  1. \(\operatorname{lcm}(a,b)\):

    1. 作用:求得 \(a\),\(b\) 的最小公倍数。
    2. 性质:
      1. \(\gcd(a,b) \times \operatorname{lcm}(a,b) = a\times b\)。
      2. 若有 \(a\mid m\) 且 \(b\mid m\) 那么 \(\operatorname{lcm}(a,b) \mid m\)。
      3. 若 \(m,a,b\) 是正整数,那么\(\operatorname{lcm}(ma,mb) = m \times \operatorname{lcm}(a,b)\)。
    3. 实现:
long long lcm(const int a[], int n){
long long ans = 1;
for(int i = 1;i<=n;i++)
ans = ans * a[i] / gcd(ans,a[i]);
return ans;
}

5、同余:

  1. 定义:对于两个数 \(a\)、\(b\),如果 \(a \bmod m = b \bmod m\),那么我们就称 \(a\) 和 \(b\) 在模 \(m\) 的意义下同余,记做:\(a \equiv b \pmod m\)。

  2. 性质:

    1. 若 \(m \mid (a-b)\),则我们可以称 \(a\) 和 \(b\) 在模 \(m\) 的意义下同余。
    2. 若 \(a = mq + b\),则我们可以称 \(a\) 和 \(b\) 在模 \(m\) 的意义下同余。
    3. 若 \(a \equiv 0 \pmod m\),则称 \(m\mid a\)。
    4. 反身性:\(a\equiv a\pmod m\)。
    5. 对称性:若 \(a\equiv b \pmod m\),那么 \(b\equiv a \pmod m\)。
    6. 传递性:若 \(a\equiv b \pmod m\),\(b\equiv c \pmod m\),那么 \(a\equiv c \pmod m\)。
    7. 同余式相加:若 \(a\equiv b \pmod m\),\(c \equiv d \pmod m\),那么 \(a\pm c\equiv b\pm d \pmod m\)。
    8. 同余式相乘:若 \(a\equiv b\pmod m\),\(c \equiv d\pmod m\),那么 \(ac\equiv bd \pmod m\)。
    9. 同余幂运算:若 \(a\equiv b\pmod m\),那么 \(a^n\equiv b^n \pmod m\)。
    10. 若有整数 \(a,b\),正整数 \(k,m\),且有关系 \(a \equiv b \pmod m\),则有 \(ak \equiv bk \pmod {mk}\)。
    11. 若有整数 \(a,b\),正整数 \(d,m\),且存在 \(d \mid a,\, d\mid b,\, d\mid m\),并有关系 \(a\equiv b \pmod m\),则有 \(\dfrac{a}{d} \equiv \dfrac{b}{d} \pmod {\dfrac{m}{d}}\)。
    12. 若有整数 \(a,b\),正整数 \(d,m\),且存在 \(d\mid m\),并有关系 \(a\equiv b\pmod m\),则有 \(a\equiv b \pmod d\)。
    13. 若有整数 \(a,b\),正整数 \(d,m\),且存在 \(d = \gcd(b,m)\),则有 \(d = \gcd(a,m)\),换句话说,若存在 \(d\mid m,\, d\mid b\),则一定有 \(d\mid a\)。

6、同余类和剩余系:

  1. 剩余系:

    1. 定义:是指模正整数 \(n\) 的余数所组成的集合。

      1. 完全剩余系:一个包含了正整数 \(n\) 所有可能的余数的剩余系叫做完全剩余系,记做 \(Z_n\)。
      2. 简化剩余系:包含了完全剩余系中所有与 \(n\) 互质的数的剩余系,记做 \(Z^*_n\)。
      3. 在完全剩余系之下,所有的运算全部在模 \(n\) 意义下进行的。
  2. 同余类:将满足同余关系的所有整数看作成一个同余等价类。

这里是穿越过来的 Larry76,事实上,在学习群论以后,剩余系的本质其实就是一种「环」,而同余类可以看做是环上的同一位置的不同表示的表示方法的集合。

7、互质:

  1. 定义:\(\forall a,b \in N\),若 \(\gcd(a,b) = 1\),那么就说 \(a\) 和 \(b\) 互质,记做 \(a \perp b\)。
  2. 性质:
    1. 两个不同的质数一定是互质的。
    2. 一个质数和另一个不为它倍数的数是互质的。
    3. \(1\) 与任意一个数(除了 \(1\) 本身)都是互质的。
    4. 相邻的两个自然数是互质的。
    5. 相邻的两个奇数是互质的。
    6. 较大数为质数的两个数是互质的。
    7. 斐波那契数列上两个相邻的数是互质的。

7、数论函数:

  1. 积性函数和完全积性函数:

    1. 积性函数:

      1. 定义:设有函数 \(f(x)\) 和变量 \(a,b\)。

        \(\forall a\perp b\),我们有 \(f(ab) = f(a) \cdot f(b)\)

        则函数 \(f(x)\) 为积性函数。
    2. 完全积性函数:
      1. 定义:设有函数 \(f(x)\) 和变量 \(a,b\)。

        \(\forall a,b\),我们有 \(f(ab) = f(a) \cdot f(b)\)。

        则函数 \(f(x)\) 为完全积性函数。
  2. 常见数论函数:
    1. 完全积性函数:

      1. 单位元:\(\operatorname{e}(n) = [n=1]\)。
      2. 常函数:\(\operatorname{I}(n) = 1\)。
      3. 单位函数:\(\operatorname{id}(n) = n\qquad(n\ge 1)\)。
    2. 积性函数:
      1. 莫比乌斯函数:
      \[\mu(n) = \begin{cases}1 && n = 1 \\(-1)^k && \text{n没有平方因子}\\0 && \text{n有平方因子}\end{cases}
      \]
      1. 欧拉函数:
      \[\varphi(n) = n\times \prod_{p|n}\frac{p-1}{p}
      \]
      1. 约数幂和函数:
      \[\sigma_k(n) = \sum_{d|n}d^k
      \]

      其中,当 \(k=0\) 时,可以简写为 \(\sigma(n)\)

数论笔记(Full Version)的更多相关文章

  1. RFC笔记—IP Version 6 Addressing Architecture

    IP Version 6 Addressing Architecture,RFC4291 It includes the basic formats for the various types of ...

  2. mybatis-config.xml简单笔记

    mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  3. applicationContext.xml简单笔记

    applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...

  4. 关于oi

    2015-12-26 今天在机房,楼上的孩子发下来一个exe,善良无知的我打开了那个exe,然后电脑就关机了.萌萌的辅导老师看到之后就不再萌萌哒,他跑到五楼训斥了那群孩子们一顿(自行脑补).出于报复, ...

  5. CEYE平台的使用

    0x01 CEYE 是什么 CEYE是一个用来检测带外(Out-of-Band)流量的监控平台,如DNS查询和HTTP请求.它可以帮助安全研究人员在测试漏洞时收集信息(例如SSRF / XXE / R ...

  6. Lab 11-2

    Analyze the malware found in Lab11-02.dll. Assume that a suspicious file named Lab11-02.ini was also ...

  7. 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)

    ~>>_<<~ 咳咳!!!今天写此笔记,以防他日老年痴呆后不会解方程了!!! Begin ! ~1~, 首先呢,就看到了一个 gcd(a,b),这是什么鬼玩意呢?什么鬼玩意并不 ...

  8. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  9. 五一DAY1数论学习笔记

    by ruanxingzhi 整除性 如果a能把b除尽,也就是没有余数,则我们称a整除b,亦称b被a整除.(不是除以,是整除!!) 记作:\(a|b\) |这个竖杠就是整除符号 整除的性质 自反性 对 ...

  10. 「算法笔记」快速数论变换(NTT)

    一.简介 前置知识:多项式乘法与 FFT. FFT 涉及大量 double 类型数据操作和 \(\sin,\cos\) 运算,会产生误差.快速数论变换(Number Theoretic Transfo ...

随机推荐

  1. Cilium系列-5-Cilium替换KubeProxy

    系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...

  2. Nginx TCP 负载均衡:stream 模块配置

    工作上遇到需要用nginx做负载均衡,参考了前同事留下的作业顺利搞定,感觉这块很有意义写篇文档记录. 参考:nginx tcp负载均衡(Stream模块)配置说明 参考:利用nginx进行TCP负载均 ...

  3. RAT蓝队自动化测试框架

    RAT蓝队自动化测试框架 介绍 RAT 是根据 MITRE ATT&CK 战术矩阵测试蓝队检测能力的脚本框架,由 python2.7 编写,共有 50 多种不同 ATT&CK 技术点和 ...

  4. OpenAI API访问速度不佳?试试用Vercel来加速!

    前言 众所周知,使用openAI API在国内访问体验并不佳,经常遇到访问较慢或者访问失败的问题.本文着重讲讲怎么解决这个问题,让我们日常开发和使用能够更方便的体验到AI带来的便利 为了帮大家省钱,也 ...

  5. 记一次因为C#官方扩展导致自动补全出错的情况 (C# & Godot)

    现象 最近使用Vscode结合Godot使用时突然发现自动补全出问题了,发现一部分自动补全能弹出补全项目,但是确认后不起作用,还会吞掉弹出自动补全后输入的字符.大概是下图这样的感觉(截图时已修好,图为 ...

  6. Java程序员的MacBookPro(14寸M1)配置备忘录

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 欣宸的月俸虽然很低,但还是咬着牙攒够银子,入 ...

  7. 用React仿钉钉审批流

    引言 这几天帮朋友忙,用了一周时间,高仿了一个钉钉审批流.这个东西会有不少朋友有类似需求,就分享出来,希望能有所帮助.为了方便朋友的使用,设计制作的时候,尽量做到节点配置可定制,减少集成成本.如果您的 ...

  8. MySQL查询语句的执行过程

    SQL语句的查询过程 文章源自:极客时间-MySQL核心知识45讲 1. 前言 先看一张图和一个简单的SQL查询语句:select * from T where ID=10; 2. 概述 大体来说,M ...

  9. STM32中SWD下载不进去的解决方法

    这是我第一次写自己的博客,希望以后写博客可以当做自己的个人习惯并坚持下去,作为技术分享,也欢迎各位大佬前来指正.本人本科学习的机械电子工程,了解机械制图.嵌入式编程.目前刚好学习了PCB制板,正在向着 ...

  10. 深入理解Linux内核——内存管理(3)

    提要:本系列文章主要参考MIT 6.828课程以及两本书籍<深入理解Linux内核> <深入Linux内核架构>对Linux内核内容进行总结. 内存管理的实现覆盖了多个领域: ...