Cod sursa(job #1364438)
Utilizator | Data | 27 februarie 2015 17:50:47 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <map>
#include <set>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
int n,m,i,j,a=1,b,c,d;
int main()
{
f>>n>>m;
b=m-2;d=n;
for(i=0;(1<<i)<=b;i++,d=d*d%b)
if((1<<i)&b)
a=(a*d)%b;
g<<a%m;
return 0;
}