Cod sursa(job #1930429)

Utilizator vlcmodanModan Valentin vlcmodan Data 18 martie 2017 21:10:28
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<stdio.h>

#define ull unsigned long long

ull a, n;

ull power(ull a, ull x)
{
	if (x == 0)
		return 1;
	if (x == 1)
		return a;

	ull aux = power(a, x / 2);

	if (x % 2 == 0)
	{
		return (aux*aux) % n;
	}

	else
	{
		return (((aux*aux) % n)*a) % n;
	}
}
int main()
{
	freopen("inversmodular.in", "r", stdin);
	freopen("inversmodular.out", "w", stdout);

	scanf("%d %d", &a, &n);

	printf("%llu", power(a, n - 2));


}