P4549 【模板】裴蜀定理

P4549 【模板】裴蜀定理

裴蜀定理内容

ax+by=c,xZ,yZ成立的充要条件是 gcd(a,b)|cZ表示正整数集。

然后最终就变成了ax+by的最小非负值——那当然是gcd(a, b)了。

AC代码:

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n,a,ans=0;
    cin>>n;
    for(int i=1;i<=n;++i)
    {
        cin>>a;
        if(i==1)
        {
            if(a>=0)
            ans=a;
            else
            ans=-a;
        }
        else
        {
            if(a>=0)
            ans=__gcd(ans,a);
            else
            ans=__gcd(ans,-a);
        }
    }
    cout<<ans<<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/acmer-hmin/p/11779103.html