Pagini recente » Cod sursa (job #2931259) | Cod sursa (job #315794) | Cod sursa (job #313307) | Cod sursa (job #768169) | Cod sursa (job #2467593)
#include <iostream>
#include <fstream>
#define ll long long
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
ll n,a;
void euclid(int a,int b,ll &x,ll &y){
if(b==0){
x=1,y=0;
}
else{
euclid(b,a%b,x,y);
ll auxx=x;
x=y;
y=auxx-y*(a/b);
}
}
int main(){
ll x=0,y=0;
fin>>a>>n;
euclid(a,n,x,y);
if(x<=0){
x=n+x%n;
}
fout<<x;
return 0;
}