Pagini recente » Cod sursa (job #2550977) | Cod sursa (job #2787638) | Cod sursa (job #2095935) | Cod sursa (job #569973) | Cod sursa (job #2668217)
#include <bits/stdc++.h>
int main() {
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
int mat[2][3]{};
scanf("%d %d", &mat[0][0], &mat[1][0]);
mat[0][1] = mat[1][2] = 1;
while (mat[0][0] * mat[1][0]) {
int r = mat[0][0] < mat[1][0];
int c = mat[r][0] / mat[!r][0];
for (int j = 0; j < 3; j++)
mat[r][j] -= c * mat[!r][j];
}
if (mat[0][0])
printf("%d\n", mat[0][1]);
else
printf("%d\n", mat[1][1]);
return 0;
}