Cod sursa(job #2537968)

Utilizator VanaMarcVana Marc VanaMarc Data 4 februarie 2020 10:33:03
Problema Invers modular Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
using namespace std;

long long inversModular(long long A, long long P, long long MOD)
{
	int result = 1;
	while (P > 0)
		if (P % 2 == 0)
			A = (A * A) % MOD, P /= 2;
		else
			result = (result * A) % MOD, --P;
	return result % MOD;
}

int main()
{
	ifstream fi("inversmodular.in");
	ofstream fo("inversmodular.out");
	long long A, N; fi >> A >> N;
	// calculam A ^ (N - 2) % N
	fo << inversModular(A, N - 2, N);
	return 0;
}