Cod sursa(job #2270519)
Utilizator | Data | 27 octombrie 2018 11:23:00 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
void cmmdc(int a,int b,int &k,int &l)
{ int kp,lp;
if(b==0)
{
l=0;
k=1;
return;
}
cmmdc(b,a%b,kp,lp);
k=lp;
l=kp-lp*(a/b);
}
int main()
{ int a,x,y,n;
fin>>a>>n;
cmmdc(a,n,x,y);
while(y<0)
y+=a;
fout<<y;
return 0;
}