zoukankan      html  css  js  c++  java
  • 同余运算及其基本性质

    取模:

    a%b b定是正整数,尽管语言上b<0合法。/b=0出现除0错 

    (a+b)mod n=((a mod n)+(b mod n)) mod n

    (a-b)mod n=((a mod n)-(b mod n)+n)mod n     //注意减法, a mod n 可能小于 b mod n 结果需加上n

    ab mod n=(a mod n)(b mod n)mod n

    注意乘法,注意(a mod n)(b mod n)是否会溢出,用long long 保存中间结果

    1 int mul_mod(int a,,int b,int n)
    2 {
    3     a%=n;b%=n;
    4     return (int)((long long)a*b%n);
    5 }

    除法不可直接取模,用到乘法逆元

    同余运算:

    (a-b)%m==0,就称a,b关于m同余/a,b对模数m同余

    e.g. (100-60)%8==0,我们就说100和60对于模数8同余

    它的另一层含义就是说,100和60除以8的余数相同

    a和b对m同余,我们记作a≡b(mod m)

    你会发现这种记号到处都在用,比如和数论相关的书中就经常把a mod 3 = 1写作a≡1(mod 3)

    性质:

    如果a≡b(mod m),x≡y(mod m),则a+x≡b+y(mod m)//两边分别相加也是
    如果a≡b(mod m),x≡y(mod m),则ax≡by(mod m)//两边分别相乘也是
    如果ac≡bc(mod m),且c和m互质,则a≡b(mod m)//c,m互质时,去掉c也是

    模线性方程组:

    输入正整数a,b,n 解方程ax≡b(mod n).a,b,n<=10^9

    方程可理解为ax-b是n的正整数倍,设倍数为y,则ax-b=ny;即ax-ny=b  解此不定方程----扩展欧几里得算法

    同余方程的解是一个同余等价类

    b=1时,ax≡1(mod n)的解称a关于模n的逆invers----乘法逆元

    有解条件,a,n互质gcd(a,n)=1,此时,方程只有唯一解

  • 相关阅读:
    解决在cmd命令下不能输入中文方法
    报错注入
    html表单中的name属性和value属性
    xss漏洞
    DVWA-xss反射型(跨站脚本漏洞)
    DVWA-brute force
    owsap top 10 2017(十大web安全应用程序安全)
    sqli_labs less-5
    盲注
    c++ 类
  • 原文地址:https://www.cnblogs.com/kimsimple/p/6391572.html
Copyright © 2011-2022 走看看