zoukankan      html  css  js  c++  java
  • 最大公约数

    定义

    (a, b) 是不都为 (0) 的整数, (c) 为满足 (c | a)(c | b) 的最大整数.
    则称 (c)(a, b)的最大公约数
    记为 (gcd(m, n))((a, b))
    ((a, b) = 1), 则称 (a, b) 互质(互素)

    性质

    ((1)) ((a, a) = (0, a) = a)
    ((2))(a|b) , 则((a, b) = a)
    ((3)) ((a, b) = (a, a + b) = (a, ka + b))
    ((4)) ((ka, kb) = k imes (a, b))
    ((5)) ((a, b, c) = ((a , b), c))

    求gcd

    (GCD) 的一般公式:质因数分解
    $ a = p_1^{a_1}p_2^{a_2}p_3^{a_3}...p_k^{a_k} $
    $ b = p_1^{b_1}p_2^{b_2}p_3^{b_3}...p_k^{b_k} $
    $ (a, b) = p_1^{min(a_1, b_1)}p_2^{min(a_2, b_2)}p_3^{min(a_3, b_3)}...p_k^{min(a_k, b_k)} $

    例题

    [CF 664A] Complicated GCD
    [CF 757B] Bash’s Big Day

    证明性质1

    因为 (a)(a) 的最大约数,且 (a | 0)
    所以 ((a, a) = (0, a) = a)

    证明性质2

    因为 (a)(a) 的最大约数, 且 (a | b)
    所以 ((a, b) = a)

    证明性质3

    (c = (a, b))
    所以 (c | a, c | b)
    所以 (c | (a + b)) (这个在整除的部分里写过也证过)
    所以 (a, b) 的最大公约数是 (a, a + b) 的约数
    (d = (a, a + b))
    所以 (d | a, d | (a + b))
    所以 (d | (a - (a + b)) Rightarrow d | (-b) Rightarrow d | b)
    所以 (a , a + b) 的最大公约数是 (a, b) 的约数
    所以 ((a, b) = (a , a + b))
    同理可得: ((a, b) = (a, a + b) = (a, ka + b))

    证明性质4

    (kc = (ka, kb))
    所以 (kc | ka, kc | kb)
    所以 (c | a, c | b)
    所以 $ ka, kb $ 最大公约数是 (a, b) 的约数的 (k)
    (d = (a, b))
    所以 (d | a, d | b)
    所以 (kd | ka, kd | kb)
    所以 $ a, b $ 最大公约数的 (k) 倍是 (a, b) 的约数
    所以 ((ka, kb) = k imes (a, b))

    证明性质5

    根据求 (gcd) 的一般方法即可证明(不想写不证了)

  • 相关阅读:
    【Springboot】Springboot整合Ehcache
    时间戳转化正常的时间格式
    申请抖音企业认证流程
    js与原生进行交互
    vim 高亮
    shell 关于路径查询显示pwd
    shell 关于字符切割 cut
    linux ubuntu 关于vim得一些基本命令
    shell 在终端中打开另一个终端执行命令
    shell 获取时间
  • 原文地址:https://www.cnblogs.com/lieberdq/p/13277557.html
Copyright © 2011-2022 走看看