裴蜀定理

什么是裴蜀定理

\(a,b\) 是整数,且 \(gcd(a,b)=d\),那么对于任意的整数 \(x\),\(y\), \(ax+by\) 都一定是 \(d\) 的倍数,特别地,一定存在整数 \(x,y\),使 \(ax+by=d\) 成立。

【模板】裴蜀定理

#include<bits/stdc++.h>//万能头文件
using namespace std;
int gcd(int x,int y)
{
    return y?gcd(y, x%y):x;//一个简单的求最大公约数的函数
}
int n,a,ans;
int main()
{
	cin>>n>>a;
	ans=a;//ans先是第一个数,最大公约数是不会超过的
	for(int i=2;i<=n;++i)
	{
		cin>>a;
		ans=gcd(ans,abs(a));//每输入一个数就绝对值并求最大公约数
	}
	cout<<ans<<endl;
	return 0;//程序结束
}
posted @ 2022-03-12 11:04  PassName  阅读(47)  评论(0编辑  收藏  举报