数论入门篇

本文介绍了数论的基础概念,包括欧几里得定理、裴蜀定理、拓展欧几里得定理及其应用,如求解乘法逆元、判断互质、计算欧拉函数。还探讨了算数基本定理、费马小定理、中国剩余定理以及一些重要的数学术语和引理,是理解数论和其在密码学等领域应用的入门教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欧几里得定理

g c d ( a , b ) = g c d ( a % b , b ) gcd(a,b)=gcd(a\%b,b) gcd(a,b)=gcd(a%b,b)(a>=b)
给出简单证明:
可以知道 g c d ( a , b ) < = b 且 为 b 的 因 子 gcd(a,b)<=b且为b的因子 gcd(a,b)<=bb
a = m b + r a=mb+r a=mb+r容易得到左边的mb部分一定可以被b的所有因子整除,所以不会对结果造成影响,所以得证对于a>=b, g c d ( a , b ) = g c d ( a % b , b ) gcd(a,b)=gcd(a\%b,b) gcd(a,b)=gcd(a%b,b)
递归求解,当b=0时返回a即可。

拓展性质:对于a>=b, g c d ( a , b ) = g c d ( a − b , b ) \\gcd(a,b)=gcd(a-b,b) gcd(a,b)=gcd(ab,b)= g c d ( a + b , b ) gcd(a+b,b) gcd(a+b,b)
g c d ( a + k ∗ b , b ) = g c d ( a , b ) gcd(a+k*b,b)=gcd(a,b) gcd(a+kb,b)=gcd(a,b),k为整数

裴蜀定理(贝祖定理)

a x + b y = g c d ( a , b ) ax+by=gcd(a,b) ax+by=gcd(a,b)
对于 a a a, b b b g c d ( a , b ) gcd(a,b) gcd(a,b),一定存在系数x和y,使得:
a x + b y = g c d ( a , b ) ax+by=gcd(a,b) ax+by=gcd(a,b)

拓展欧几里得定理

对贝祖定理系数的求解过程称为拓展欧几里得定理

ll exgcd(ll a,ll b,ll &x,ll &y)
{
   
    if(b==0)
    {
   
        x=1;
        y=0;
        return a;
    }
    else {
   
        ll g=exgcd( b, a % b, y, x);
        y -= a / b * x;
        return g;
    }
}

证明:
a x 1 + b y 1 = g c d ( a , b ) ax_1+by_1=gcd(a,b) ax1+by1=gcd(a,b)
b x 2 + ( a % b ) y 2 = g c d ( a , b ) bx_2+(a\%b)y_2=gcd(a,b) bx2+(a%b)y2=gcd(a,b)
联立两个等式可得:
a ⋅ x 1 + b ⋅ y 1 \quad a\cdot x_1+b\cdot y_1 ax1+by1
= b ⋅ x 2 + ( a % b ) y 2 =b\cdot x_2+(a\%b)y_2 =bx2+(a%b)y2
= b ⋅ x 2 + ( a − a / b ⋅ b ) y 2 =b\cdot x_2+(a-a/b\cdot b)y_2 =bx2+(aa/bb)y2
= a ⋅ y 2 + b ⋅ ( x 2 − a / b ⋅ y 2 ) =a\cdot y_2+b\cdot (x_2-a/b\cdot y_2) =ay2+b(x2a/by2)
可以得到:
x 1 = y 2 x_1=y_2 x1=y2
y 1 = x 2 − a / b ⋅ y 2 y_1=x_2-a/b\cdot y_2 y1=x2a/by2

定理的一些基本应用
1.求 x x x p p p的逆元
2.关于系数的变化
对于 a x + b y = g c d ( a , b ) ax+by=gcd(a,b) ax+by=gcd(a,b)
两边同除以 g c d ( a , b ) gcd(a,b) gcd(a,b),
则a与b变成了素数p和q,
p x + q y = 1 px+qy=1 px+qy=1
系数x,y可以随意变动,
x x x每增大 q q q, y y y就减少 p p p,反之亦然。

算数基本定理:

一个数可被唯一地表示成若干个素数的乘积。
x = p 1 c n t 1 ∗ p 2 c n t 2 ∗ p 3 c n t 3 ∗ ⋯ ∗ p n c n t n x=p^{cnt_1}_1*p^{cnt_2}_2*p^{cnt_3}_3*\cdots*p^{cnt_n}_n x=p1cnt1p2cnt2p3cnt3pncntn
c n t i cnt_i cnti表示x分解后的乘积表达式中有 c n t i cnt_i cnti p i p_i pi.
定理的一些基本应用
1.求出x的因子个数
f a c t o r C n t = ( c n t

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值