Title

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; }
posted @ 2021-09-25 10:20  BeautifulWater  阅读(383)  评论(0编辑  收藏  举报