Cod sursa(job #2188384)
Utilizator | Data | 27 martie 2018 09:24:52 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <bits/stdc++.h>
using namespace std;
int mod;
int invmod(int a,int b)
{
if (b==0) return 1;
else if (b==1) return a;
else if (b%2==0) return (invmod(a*a,b/2))%mod;
else return (a*(invmod(a*a,b/2)))%mod;
}
int main()
{
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
int a,n,x;
cin>>a>>n;
mod=n;
x=invmod(a,n-2);
cout<<x%mod;
}