Pagini recente » Cod sursa (job #2919711) | Cod sursa (job #1427065) | Cod sursa (job #2658952) | Cod sursa (job #3031259) | Cod sursa (job #1467916)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int kt[100];
void euclid(int &a, int b, int &k)
{
while(b)
{
int r;
r = a % b;
kt[++k]=a/b;
a = b;
b = r;
}
}
void solutii(int &a, int &b, int k)
{
int i, x = 1, y = 0;
a=x;b=y;
for(i=k; i>=1; i--)
{
a = y;
b = x - y * kt[i];
x = a;
y = b;
}
}
int main()
{
int a, b, k;
fin >> a >> b;
k = 0;
euclid(a, b, k);
int x=0, y=0, d;
d = 1 / a;
solutii(x, y, k);
while(x<0)
x=x+b;
fout<<x%b;
return 0;
}