Pagini recente » Cod sursa (job #1886673) | Cod sursa (job #2158726) | Cod sursa (job #2935791) | Cod sursa (job #625327) | Cod sursa (job #928609)
Cod sursa(job #928609)
#include <fstream>
using namespace std;
#define ll long long
int A, N;
void GCD ( ll &x, ll &y, ll a, ll b ){
if ( !b ){
x = 1;
y = 0;
return;
}
GCD( x, y, b, a % b );
ll aux = x;
x = y;
y = aux - y * (a / b);
}
int main(){
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
f >> A >> N;
ll inv = 0, ins;
GCD( inv, ins, A, N );
if ( inv <= 0 )
inv = N + inv % N;
g << inv << "\n";
return 0;
}