Pagini recente » Cod sursa (job #2290562) | Cod sursa (job #997273) | Cod sursa (job #2241923) | Cod sursa (job #3233893) | Cod sursa (job #2329429)
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
long long a,n,x,y;
long long euclid(long long a, long long b, long long &x, long long &y){
if(b==0){
x=1;
y=0;
return a;
}else{
long long xa,ya,d;
d=euclid(b,a%b,xa,ya);
x=ya;
y=xa-a/b*ya;
return d;
}
}
int main(){
fin>>a>>n;
euclid(a,n,x,y);
while(x<0){
x+=n;
}
fout<<x;
return 0;
}