Pagini recente » Cod sursa (job #1994243) | Cod sursa (job #2039034) | Cod sursa (job #1701679) | Cod sursa (job #2962061) | Cod sursa (job #3146356)
#include <fstream>
#include <vector>
#include <algorithm>
#define pb push_back
#define int long long
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
using pii = pair<int,int>;
const int MAX = 1e6+1;
int a , n;
void fastread();
pii modular_inverse( int a , int b)
{
if(b==0)
{
return{1,300};
}
else
{
pii aux = modular_inverse(b,a%b);
int x = aux.second;
int y = aux.first-a/b*aux.second;
return{x,y};
}
}
signed main(){
fastread();
cin >> a >> n;
int val = modular_inverse(a,n).first;
int x = (n-val)/n+1;
val += n * x;
val%=n;
cout << val;
return 0;
}
void fastread()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}