裴蜀定理
裴蜀定理:
一定存在整数,满足
裴蜀定理推广:
一定存在整数,满足
裴蜀定理再推广:
题目
https://www.luogu.com.cn/problem/P4549 给定一个包含 个元素的整数序列 ,记作 。 求另一个包含 个元素的待定整数序列 ,记 ,使得 且 尽可能的小。
2
4059 -1782
99
对于 的数据,,,且 序列不全为 。
思路
可以把这里的看成,例如,最后只需要求序列A的最小公倍数即可。
代码
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define debug(x) cout<<"a["<<x<<"]="<<a[x]<<endl;
#define pr(x) cout<<x<<endl;
#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
typedef long long LL;
typedef pair<int, int> PII;
const int INF = 0x3f3f3f3f;
const int N = 1e5 + 10;
int gcd(int a,int b){
return b? gcd(b,a%b):a;
}
int main() {
IOS;
#ifndef ONLINE_JUDGE
freopen("/Users/houyunfei/CLionProjects/MyCppWorkSpace/test.in", "r", stdin);
freopen("/Users/houyunfei/CLionProjects/MyCppWorkSpace/test.out", "w", stdout);
#endif
int n,s=0,a;
cin >> n;
for(int i=1;i<=n;i++){
cin >> a;
s = gcd(s,abs(a));
}
cout << s;
return 0;
}