Cod sursa(job #2101411)
Utilizator | Data | 7 ianuarie 2018 14:17:43 | |
---|---|---|---|
Problema | Invers modular | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
using namespace std;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
int a,n,cn,x0,x1,r,c,x;
int main()
{
in>>a>>n;
cn=n;
x0=1;
x1=0;
while(n!=0)
{
r=a%n;
c=a/n;
a=n;
n=r;
x=x0-c*x1;
x0=x1;
x1=x;
}
if(x0<0)
x0+=cn;
out<<x0<<'\n';
return 0;
}