Pagini recente » Cod sursa (job #2817896) | Cod sursa (job #1727165) | Cod sursa (job #1374719) | Cod sursa (job #1195788) | Cod sursa (job #2758865)
#include <fstream>
using namespace std;
using ll = long long;
const string name("inversmodular");
ifstream fin(name + ".in");
ofstream fout(name + ".out");
void Euclid(ll a, ll b, ll &x, ll &y){
if(!b)
x = 1, y = 1;
else{
ll x1, y1;
Euclid(b, a % b, x1, y1);
x = y1;
y = x1 - a / b * y1;
}
}
int main(){
ll a, n;
fin >> a >> n;
ll x, y;
Euclid(a, n, x , y);
while(x < 0)
x += n;
fout << x;
return 0;
}