Pagini recente » Cod sursa (job #581179) | Cod sursa (job #2710143) | Cod sursa (job #2457425) | Cod sursa (job #2575825) | Cod sursa (job #2763498)
#include <fstream>
#include <queue>
#include <string>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
int n, m;
void euclid(int a, int b, int &x, int &y){
if(b == 0){
x = y = 1;
}
else{
int x1, y1;
euclid(b, a % b, x1, y1);
x = y1;
y = x1 - a / b * y1;
}
}
int InversModular(int a, int b){
int x, y;
euclid(a, b, x, y);
while(x < 0){
x += b;
}
return x;
}
int main(){
cin >> n >> m;
cout << InversModular(n, m);
return 0;
}