Apr 6, 2018 由 小羊
int dyqys(int a, int n)
{
int k[3], r[3], q;
k[1] = 0, k[2] = 1;
r[1] = n, r[2] = a;
while (r[2] != 1)
{
r[0] = r[1], r[1] = r[2];
k[0] = k[1], k[1] = k[2];
if (r[1] == 0) return -1;
q = r[0] / r[1];
r[2] = r[0] % r[1];
k[2] = (k[0] - q * k[1]) % n;
if (k[2] < 0) k[2] += n;
}
return k[2];
}