Cod sursa(job #2246029)
Utilizator | Vlad Haivas vladth11 | Data | 26 septembrie 2018 14:22:50 |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
int euler(int n){
return (n-1);
}
int putere(int a,int n,int m){
int prod = 1;
do{
if(n%2 != 0){
prod = (long long)prod * a % m;
}
a = 1LL * a * a % m;
n /= 2;
}while(n != 0);
}
int main()
{
int a,n,x;
cin >> a >> n;
x = putere(a,euler(n) - 1,n);
cout << x;
return 0;
}