Pagini recente » Cod sursa (job #205200) | Cod sursa (job #1174175) | Cod sursa (job #1672134) | Cod sursa (job #2341302) | Cod sursa (job #471545)
Cod sursa(job #471545)
# include <algorithm>
using namespace std ;
int A, N;
void verf ( int &a, int b ) {
if ( a < 0 ) {
a += b;
}
}
void euclid ( int A, int B, int &X, int &Y ) {
if ( !B ) {
X = 1, Y = 0;
} else {
euclid ( B, A % B, X, Y ) ;
swap ( X, Y ), Y -= X * ( A / B ) ;
}
}
int main() {
int inv = 0, ins;
freopen ( "inversmodular.in", "r", stdin ) ;
freopen ( "inversmodular.out", "w", stdout ) ;
scanf ( "%d %d", &A, &N ) ;
euclid ( A, N, inv, ins ) ;
verf ( inv, N ) ;
printf ( "%d", inv ) ;
return 0;
}