Cod sursa(job #2055526)
| Utilizator | Data | 3 noiembrie 2017 13:11:51 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
int n , MOD;
void r()
{
freopen("inversmodular.in","r",stdin);
scanf("%d%d",&n,&MOD);
}
int invers(int x)
{
int sol=1,putere=MOD-2;
while(putere)
{
if(putere & 1 )sol*=x,--putere;
x*=x;
x%=MOD;
putere>>=1;
}
return sol%MOD;
}
int main()
{
r();
freopen("inversmodular.out","w",stdout);
printf("%d",invers(n));
return 0;
}
