Pagini recente » Cod sursa (job #22649) | Cod sursa (job #53319) | Cod sursa (job #2439191) | Cod sursa (job #1012552) | Cod sursa (job #1449778)
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int cmmdc(int a, int b, int &x, int &y)
{
if(b==0)
{
x=1, y=0;
return a;
}
int d=cmmdc(b, a%b, x, y), aux=x;
x=y;
y=aux-a/b*y;
return d;
}
int invers(int a, int n)
{
int x, y, d=cmmdc(a, n, x, y);
while(x<0)
x+=n;
return x%n;
}
int main()
{
int a, n;
fin>>a>>n;
fout<<invers(a, n);
return 0;
}