关于ex_gcd

Posted on 2020-04-14 19:07  __wxyz  阅读(152)  评论(0)    收藏  举报

关于ex_gcd()主语 :

反正是a 和 b 要更改那么多次, 无论是进入递归时更改还是回溯时更改都可以, 并且可以每次都对要求的 a(b) 进行对 b(a) 取模, 使得最后答案保证为正。

优秀板子如下:

long long ex_gcd(long long x, long long y, long long a, long long b) {
   return y ? ex_gcd(y, x % y, b, M(a + ori - mul(b, x / y, ori), ori)) : a;
}
int main() {

   ex_gcd(ori, c, 0, 1);
   
}

其中 ori 为 x 的初始值 (待求 y 的系数)

注意 a, b 的初始化, 将待求的系数初始化为1(如求x, 则 a = 1, 否则 b = 1