版权声明:本文为博主原创作品, 转载请注明出处! https://blog.csdn.net/solider98/article/details/84671366
思路分析:
利用扩展欧几里得算法解线性同余方程即可, 给出如下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;
}