Cod sursa(job #1470596)

Utilizator starduststardust stardust Data 11 august 2015 17:58:55
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <stdio.h>
#define modulo 1999999973
#define ll long long

int main()
{
	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);

	ll n, p, sol = 1LL;

	scanf("%lld %lld", &n, &p);
	ll temp = n;

	for (ll i = 0LL; (1 << i) <= p; i++)
	{
		if ((1 << i) & p)
			sol = (sol * temp) % modulo;

		temp = (temp * temp) % modulo;
	}
	printf("%lld\n", sol);
}