Cod sursa(job #883852)

Utilizator RaduDoStochitoiu Radu RaduDo Data 20 februarie 2013 14:35:40
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<iostream>
#include<cstdio>
using namespace std;
int n,m;

/* This function calculates (a^b)%MOD */
int pow(int a, int b, int MOD) {
int x = 1, y = a;
	while(b > 0) {
		if(b%2 == 1) {
			x=(x*y);
			if(x>MOD) x%=MOD;
		}
		y = (y*y);
		if(y>MOD) y%=MOD;
		b /= 2;
	}
	return x;
}

int modInverse(int a, int m) {
    return pow(a,m-2,m);
}

int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    scanf("%d%d",&n,&m);
    printf("%d\n",modInverse(n,m));
    return 0;
}