cf1011 E. Border

裴属定理,或者叫他扩展欧几里得也可以

裴蜀定理:
对任何a,b∈Z和它们的最大公约数d,关于未知数x和y的线性不定方程(称为裴蜀等式):ax+by=c有整数解(x,y)当且仅当d∣c,可知有无穷多解。特别地,一定存在整数x,y,使ax+by=d成立。
推论:
a,b互质的充要条件是存在整数x,y使ax+by=1

对于(a,b∈Z),ax+by=c有整数解的条件是gcd(a,b)∣c的证明:
充分性:设d=gcd(a,b),已知ax+by=d一定有整数解,设其解为(x0,y0)。d∣c,则存在k∈Z,使得)c=kd=k(ax+by)=a(kx)+b(ky),即解为(kx0,ky0)。
必要性:因ax1+by1=c,x1,y1∈Z设d=gcd(a,b),有d∣a,d∣b,d∣(ax1,by1),即d∣c

#include<bits/stdc++.h>
using namespace std;
int a[100010];
int main()
{
    int n,k;
    scanf("%d%d",&n,&k);
    int s=k;
    for(int i=1;i<=n;i++)
    {
        int tmp;
        scanf("%d",&tmp);
        s=__gcd(tmp,s);
    }
    printf("%d\n",k/s);
    for(int i=0;i<k;i+=s)
      printf("%d ",i);
    printf("\n");
}

猜你喜欢

转载自www.cnblogs.com/lishengkangshidatiancai/p/10295020.html