bzoj1441Min 裴蜀定理

xiaoxiao2021-02-28  115

一开始以为是什么构造题目,后来才发现是裴蜀定理。。 裴蜀定理:若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。 也就是说,忽略符号,gcd(a,b)就是ax+by所能表示的最小正整数 对所有的数求gcd即可

#include<cstdio> #include<algorithm> #include<cstring> #define fo(i,a,b) for(int i=a;i<=b;i++) #define fd(i,a,b) for(int i=a;i>=b;i--) using namespace std; const int N=1e5+5; int n,m,x,ans; int a[N]; int gcd(int a,int b) { if (!b) return a; else return gcd(b,a%b); } int main() { scanf("%d",&n); scanf("%d",&ans); ans=abs(ans); fo(i,1,n-1) { scanf("%d",&x); x=abs(x); ans=gcd(ans,x); } printf("%d\n",ans); }
转载请注明原文地址: https://www.6miu.com/read-61721.html

最新回复(0)