zoukankan      html  css  js  c++  java
  • 同余定理【数论】

    两种解释?道理一样。

    1、

    两个整数,a,b,如果他们同时除以一个自然数m,所得的余数相同,则称a,b对于模m同余。。记作a≡b(mod.m)。

    //?????

    2、

    给定一个正整数m,如果两个整数a,b满足(a-b)能够被m整除,即(a-b)/m得到一个整数,那么称整数a和b对模m同余。记作ab(mod m)。

    性    质:反身性、对称性、传递性等。
    =========================================
    形如 ax≡b(modn) 的式子称为线性同余方程。对于这样的式子有解的充要条件是 gcd(a,n)∣b.

    于是扩展gcd求解
    将原方程化为一次不定方程 ax+ny=b.
    利用扩展欧几里得算法求解不定方程 ax+ny=b的整数解的求解全过程,步骤如下:

    1、先计算 gcd(a,n)
    ,若 b 不能被 gcd(a,n) 整除,则方程无整数解;否则,在方程右边除以 b/gcd(a,n),记 得到新的不定方程 ax0+ny0=gcd(a,n).

    2、利用扩展欧几里德算法求出方程 ax0+ny0=gcd(a,b)
    的一组整数解 x0 , y0;

    3、根据数论中的相关定理,记 k=b/gcd(a,n),可得方程 ax+ny=b
    的所有整数解为:
    x=k∗x0+n/gcd(a,n)∗t
    y=k∗y0–a/gcd(a,n)∗t  (t=0,1,2,……)

    调整得到关于 x 的正整数解
    注意因为解有多个,而我们要求最优解(正整数中最小的),所以 (x+=n/gcd(a,n)%(n/gcd(a,n));
    加法是为了保证正数,取模是为了最小.
    //////////////////////
    参考百度百科:
    1.反身性:a≡a (mod m);
    2.对称性:若a≡b(mod m),则b≡a (mod m);
    3.传递性:若a≡b(mod m),b≡c(mod m),则a≡c(mod m);
    4.同余式相加:若a≡b(mod m),c≡d(mod m),则a
    c≡b
    d(mod m);
    5.同余式相乘:若a≡b(mod m),c≡d(mod m),则ac≡bd(mod m)。
    证明:
    ∵a≡b(mod m)∴m|(a-b) 同理m|(b-c),
    ∴m|[(a-b)+(b-c)]∴m|(a-c).
    故a≡c(mod m).
    6.线性运算:如果a ≡ b (mod m),c ≡ d (mod m),那么
    (1)a ± c ≡ b ± d (mod m);
    (2)a * c ≡ b * d (mod m)。
    证明:
    (1)∵a≡b(mod m),
    ∴m|(a-b)
    同理 m|(c-d)
    ∴m|[(a-b)±(c-d)]
    ∴m|[(a±c)-(b±d)]
    ∴a ± c ≡ b ± d (mod m)
    (2)∵ac-bd=ac-bc+bc-bd=c(a-b)+b(c-d)
    又 m|(a-b) , m|(c-d)
    ∴m|(ac-bd)
    ∴a * c ≡ b * d (mod m)
    7.除法:若
    ,则
    ,其中gcd(c,m)表示c和m的最大公约数
    特殊地,
    8.幂运算:如果
    ,那么
    9.若
    ,n=m,则
    10.若
    ,(i=1,2...n) 则
    ,其中
    表示m1,m2,...mn最小公倍数
     
  • 相关阅读:
    华师菜鸟杯2020
    「算法」排序
    生成函数
    多项式乘法逆
    多项式牛顿迭代
    「数学」快速幂
    「算法」贪心
    「组合数学」一:什么是组合数学
    「具体数学」三:整值函数
    「图论」树上问题
  • 原文地址:https://www.cnblogs.com/donke/p/10306632.html
Copyright © 2011-2022 走看看