Cod sursa(job #487285)

Utilizator elmercerAlex Mercer elmercer Data 24 septembrie 2010 17:23:09
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <stdio.h>
#include <math.h>

long n, m, put, rez, val;

int main() {
	freopen("inversmodular.in", "r", stdin);
	freopen("inversmodular.out", "w", stdout);
	scanf("%ld %ld", &n, &m);
	
	put = m - 2; rez = 1; val = n;

	while (put) {
		if (put & 1) {
			rez *= val;
			rez %= m;
		}
		put >>= 1;
		val *= val;
	}
	
	printf("%ld\n", rez);
	return 0;
}