Cod sursa(job #2029697)

Utilizator whitewolf3131Ursu Laurentiu Cristian whitewolf3131 Data 30 septembrie 2017 12:44:15
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

using namespace std;
using i64 = long long;
i64 explog(i64 b, i64 e, i64 mod){
    i64 ant = 1;

    for (; e > 0; e/= 2) {
        if (e & 1)
            ant = ant * b % mod;
        b = b * b % mod; }

    return ant; }

int main()
{
	FILE *in, *out;
	in = fopen("inversmodular.in", "r");
	out = fopen("inversmodular.out", "w");
	i64 a, mod;
	fscanf(in, "%lld%lld", &a, &mod);
	i64 x=explog(a, mod-2, mod);
	fprintf(out, "%lld", x);
	return 0;
}