1. 程式人生 > >同餘_線性同餘方程_擴充套件歐幾里得演算法_CH3301

同餘_線性同餘方程_擴充套件歐幾里得演算法_CH3301

點此開啟題目頁面

思路分析:

    利用擴充套件歐幾里得演算法解線性同餘方程即可, 給出如下AC程式碼:

//CH3301_同餘方程
#include <iostream>
using namespace std;
int exgcd(int a, int b, int &x, int &y){
	if(!b){ x = 1, y = 0; return a;}
	int d = exgcd(b, a % b, x, y);
	int z = x; x = y, y = z - a / b * y; return d;
}
int main(){
	int a, b; cin >> a >> b;
	int x, y; exgcd(a, b, x, y), cout << ((long long)x + b) % b << endl;
	return 0;
}