zoukankan      html  css  js  c++  java
  • gcd的推论,多个数的gcd的转化

    gcd的推论,多个数的gcd的转化

    (gcd(a,b,c,d)=gcd(a,a-b,b-c,c-d))

    证明如下:

    1. 先证(gcd(a,b,c,d)<=gcd(a,a-b,b-c,c-d))

      (k=gcd(a,b,c,d))

      (k|a,k|b),则有(k|a-b)

      同理可得(k|b-c),(k|c-d)

      所以k是a,a-b,b-c,c-d这四个数的公共因子,但不一定是最大的

    2. 再证(gcd(a,b,c,d)>=gcd(a,a-b,b-c,c-d))

      (k=gcd(a,a-b,b-c,c-d))

      (k|a,k|a-b),则有(k|a-(a-b))

      所以有k|b

      同理可得(k|c),(k|d)

      所以k是a,b,c,d这四个数的公共因子,但不一定是最大的

    3. 因为这两者关系同时存在,故而只有一种可能

      (gcd(a,b,c,d)=gcd(a,a-b,b-c,c-d))

      得证

    其他

    • 该推论的应用,该推论将原本的数字转成了差分形式,因而可以结合差分的性质一起使用。
    • 由于gcd函数的设置可以让某个数和0gcd,从而返回自身
    • long long gcd(long long a,long long b) { return b?gcd(b,a%b):a; }
  • 相关阅读:
    Shell 字符串
    shell 使用变量
    shell 数组
    shell 注释
    shell 输出双引号
    shell wc命令 统计行数
    shell :
    shell 函数调用
    pyqt 调用颜色选择器
    Navicat+Premium+12+破解补丁
  • 原文地址:https://www.cnblogs.com/BeautifulWater/p/15333624.html
Copyright © 2011-2022 走看看