数论综合(基础)

这篇博客系统地介绍了数论的基础知识,包括最大公约数的性质及其与最小公倍数的关系,线性Diophantus方程的解法,模逆元的计算,以及中国剩余定理的应用。同时,讲解了Fermat小定理,并给出快速幂的应用实例。此外,还讨论了完全剩余系的概念,并解决了一个寻找最大不能表示的数的问题。
摘要由CSDN通过智能技术生成

前言

之前自行整理的数论讲义存在公式不规范、条理不清楚等问题,这里结合一下各个老师各个书本的讲法,试图系统化这部分内容。

一、最大公约数

与最小公倍数的关系:

(a,b)\times[a,b]=a\times b

证明:

a=\prod\limits_{i=1}^{k}p_i^{\alpha_i},b=\prod\limits_{i=1}^{k}p_i^{\beta_i}

则有:

\begin{aligned}(a,b)\times[a,b]&=\left(\prod_{i=1}^{k}p_i^{\min\left(\alpha_i,\beta_i\right)}\right)\times\left(\prod_{i=1}^{k}p_i^{\max\left(\alpha_i,\beta_i\right)}\right)\\&=\prod_{i=1}^{k}p_i^{\min\left(\alpha_i,\beta_i\right)+\max\left(\alpha_i,\beta_i\right)}\\&=\prod_{i=1}^{k}p_i^{\left(\alpha_i+\beta_i\right)}\\&=a\times b\end{aligned}

定理 1

c 能整除 a,b,则必能整除 a,b 的线性组合 ma+nb

证明:

考虑 c 能整除 a,b,即 c 整除 \gcd(a,b)

根据裴蜀定理,c|\gcd(a,b)|ma+nb,即 c|ma+nb

定理 2

(a+bc,b)=(a,b)

证明:

由定理 1,若 d 是 a+bc 和 b 的公因子,必能整除 a,反之亦然。

据此两者的所有公因子都相同,即最大公约数相同。

二、线性 Diophantus 方程

形如 ax+by=c 的方程称为线性 Diophantus 方程。

\gcd(a,b)|c

则方程有无穷多组解。

\gcd(a,b)\not|~c

则方程无解。

首先考虑如何求出子问题

ax+by=\gcd(a,b)

一组特解 x_0,y_0

考虑已知

bx_0+(a\bmod b)y_0=\gcd(a,b)

如何找到 x,y 满足

ax+by=\gcd(a,b)

先作差消去右边的 \gcd(a,b),将一式展开:

\begin{aligned}&bx_0+\left(a-b\times\left\lfloor\dfrac{a}{b}\right\rfloor\right)y_0\\=~&a\left(\color{red}y_0\color{black}\right)+b\left(\color{blue}x_0-y_0\times\left\lfloor\dfrac{a}{b}\right\rfloor\color{black}\right)\\=~&a\left(\color{red}x\color{black}\right)+b\left(\color{blue}y\color{black}\right)\end{aligned}

对应系数相等:

\begin{cases}x=y_0\\y=x_0-y_0\times\left\lfloor\dfrac{a}{b}\right\rfloor\end{cases}

不难得出代码:

int exgcd(int a, int b, int&x, int&y){
    if(!b){x = 1, y = 0; return a;}
    int d = exgcd(b, a%b, x, y);
    int x0 = x, y0 = y;
    x = y0, y = x0 - y0 * (a / b);
    return d;
}

这里得到的仅仅是方程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值