扩展欧几里得算法
1. 裴蜀定理
对任意一对正整数a,b,一定存在x,y,使得 ax + by = (a, b) (a和b的最大公约数)
2. 扩展欧几里得算法求系数
给定 n 对正整数 ai,bi,对于每对数,求出一组 xi,yi,使其满足 ai × xi + bi × yi = gcd(ai,bi)(最大公约数)
输入格式
第一行包含整数 n。
接下来 n 行,每行包含两个整数 ai,bi。
输出格式
输出共 n 行,对于每组 ai,bi,求出一组满足条件的 xi,yi,每组结果占一行。
本题答案不唯一,输出任意满足条件的 xi,yi 均可。
数据范围
1 ≤ n ≤ 10^5,
1 ≤ ai,bi ≤ 2 × 10^9
首先,a % b = a - (a / b) * b (a / b 表示对商向下取整)
#include<iostream>
using namespace std;
int exgcd(int a, int b, int &x, int &y) {
if (!b) {
x = 1, y = 0<