Cod sursa(job #3251661)
Utilizator | Data | 26 octombrie 2024 13:33:26 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <iostream>
using namespace std;
int n,x,a;
long long invmod(int x, int n, int 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 ((p%mod)*(p%mod))%mod;
}
}
}
int main()
{
cin>>a>>n;
x=invmod(a,n-2,n);
cout<<x;
return 0;
}