Cod sursa(job #2145754)

Utilizator vladvlad00Vlad Teodorescu vladvlad00 Data 27 februarie 2018 16:35:54
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>

using namespace std;

ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

int inv_mod(int x);

int n, W;

int main()
{
	fin >> n >> W;
	fout << inv_mod(n);
	return 0;
}

int inv_mod(int x)
{
	int aux=1, p = W - 2;

	while (p)
	{
		if (p % 2)
			aux = (1ll * aux*(x%W)) % W;
		x = (1ll * (x%W)*(x%W)) % W;
		p /= 2;
	}
	return aux;
}