Pagini recente » Cod sursa (job #1675685) | Cod sursa (job #340480) | Cod sursa (job #2865425) | Cod sursa (job #609846) | Cod sursa (job #1563756)
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
const char* IN = "inversmodular.in";
const char* OUT = "inversmodular.out";
class Math {
private :
Math(){}
~Math(){}
public :
static void euclidExtended(int a,int b,int &x,int &y){
if (b==0) {
x = 1;
y = 0;
return;
}
euclidExtended(b,a%b,x,y);
int aux = x;
x = y;
y = aux - a/b * y;
}
};
int n,a,b,c,x,y,sol;
int main(void){
ifstream cin(IN);
ofstream cout(OUT);
cin>>a>>b;
Math::euclidExtended(a,b,x,y);
x+=(x<0) ? b : 0;
cout<<x;
return 0;
}