裴蜀(贝祖)定理,参考另一篇https://blog.csdn.net/qq_17190121/article/details/102489506
本篇为该定理的扩展
ax+by=gcd(a,b)*k,gcd(a,b)作为已知,于是两项就合并为一项了。
这样a1x1+a2x2+a3x3+....的最小非负整数解就变成了gcd(x1,x2,x3,...)
#include<iostream>
#include<cmath>
using namespace std;
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int num[30];
int main()
{
int ans,n,t;
cin>>n;
cin>>ans;
ans=abs(ans);
for(int i=1;i<n;i++){
cin>>t;
t=abs(t);
ans=gcd(ans,t);
}
cout<<ans;
return 0;
}