Pagini recente » Cod sursa (job #1748143) | Cod sursa (job #391789) | Cod sursa (job #2941746) | Cod sursa (job #302663) | Cod sursa (job #2878140)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
void euclid( int a, int b, ll &x, ll& y ) {
if ( b == 0 ) {
x = 1;
y = 0;
} else {
ll x0, y0;
euclid( b, a % b, x0, y0 );
x = y0;
y = x0 - ( a / b ) * y0;
}
}
int main() {
ifstream fin( "inversmodular.in" );
ofstream fout( "inversmodular.out" );
int a, p;
ll x, y;
fin >> a >> p;
euclid( a, p, x, y );
fout << ( x % p + p ) % p;
return 0;
}