裴蜀定理
在数论中,裴蜀等式是一个关于最大公约数(或最大公约式)的定理。裴蜀定理得名于法国数学家艾蒂安·裴蜀,说明了对任何整数a,b和m,关于未知数 x和y的线性丢番图方程(称为裴蜀等式):ax+by=m
有整数解时当且仅当m是 a及b的最大公约数d的倍数。裴蜀等式有解时必然有无穷多个整数解,每组解 x、y都称为裴蜀数,可用扩展欧几里得算法求得。
就是关于 x, 的不定方程 ax + by 有整数解的充要条件是 g 。
题目见洛谷:P4549
模板
#include <cstdio> #include <cmath> #include <iostream> #include <algorithm> using namespace std; int gcd(int ,int ); int main() { int t,ans = 0; cin >> t; for(int i = 1;i <= t;++i) { int tmp; scanf("%d",&tmp); if(tmp < 0) tmp = -tmp; ans = gcd(ans,tmp); } cout << ans << endl; return 0; } int gcd(int x,int y) { if(y == 0) return x; else return gcd(y,x % y); }
文章评论