Cod sursa(job #3251662)
Utilizator | Data | 26 octombrie 2024 13:34:27 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
using namespace std;
long long n,x,a;
long long invmod(long long x, long long n, long long mod){
if(n==0){
return 1;
}
else{
if(n%2==1){
return (x%mod*invmod(x,n-1,mod)%mod)%mod;
}
else{
long long p=invmod(x,n/2,mod)%mod;
return 1LL*((p%mod)*(p%mod))%mod;
}
}
}
int main()
{
cin>>a>>n;
x=invmod(a,n-2,n);
cout<<x;
return 0;
}