Cod sursa(job #3295866)
| Utilizator | Data | 9 mai 2025 10:31:31 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <bits/stdc++.h>
using namespace std;
//folosind a*a^(n-2)=1 (mod n)
int n;
int exponentiere_rapida(int a, int e) //calculam a^e
{
int p=1;
while(e>0)
{
if((e&1)==1)
p=((long long)p*a)%n;
a=((long long)a*a)%n;
e>>=1;
}
return p;
}
int main()
{
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
int a;
cin >> a >> n;
cout << exponentiere_rapida(a, n-2);
return 0;
}
