• 模运算


    摘自百科:

    http://baike.baidu.com/link?url=zKgEVJG6RUV-amBQJzI2Vrip4zP7InbHTFJRCL5nku9rgqVokXY8uWda4rE40Brpt__q2eDcYPvmEU1YUvVjN_

    运算规则

    模运算与基本四则运算有些相似,但是除法例外。其规则如下:
    1. (a + b) % p = (a % p + b % p) % p (1)
    2. (a - b) % p = (a % p - b % p) % p (2)
    3. (a * b) % p = (a % p * b % p) % p (3)
    4.  a ^ b % p = ((a % p)^b) % p (4)
    • 结合律:
      ((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
    ((a*b) % p * c)% p = (a * (b*c) % p) % p (6)
    • 交换律:
      (a + b) % p = (b+a) % p (7)
    (a * b) % p = (b * a) % p (8)
    • 分配律:
      (a+b) % p = ( a % p + b % p ) % p (9)
      ((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10)

    重要定理

    • 若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(11)
    • 若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(12)
    • 若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),
      (a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p); (13)

    应用:

    判别奇偶数

    不说了

    判别素数

    欧几里得算法(辗转相除法

    http://baike.baidu.com/view/1241014.htm

    其计算原理依赖于下面的定理:
    定理:两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数。最大公约数(greatest common divisor)缩写为gcd。
    gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0)
  • 相关阅读:
    MySQL用户管理
    linux下杀死进程(kill)的N种方法
    Windows查看某个端口被谁占用
    SQL语句
    CentOS6.5 安装mysql-5.7.9
    Linux服务器安全之用户密钥认证登录
    Linux添加/删除用户和用户组
    linux命令killall 、kill 、pkill 命令详解
    linux下cat命令详解
    linux之sed用法
  • 原文地址:https://www.cnblogs.com/qlky/p/5020632.html
Copyright © 2020-2023  润新知