Cod sursa(job #401516)

Utilizator bixcabc abc bixc Data 22 februarie 2010 21:48:22
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <cstdio>

#define MOD 1999999973
long long n, p, sol, P, i;

int main () {

	freopen ("lgput.in", "r", stdin);
	freopen ("lgput.out", "w", stdout);
	
	scanf ("%lld %lld", &n, &p);
	
	P = n; sol = 1;
	for (i = 0; i < 32; i++) {
		if ((p & (1 << i))) 
			sol = (sol * P) % MOD;
		
		P = (P * P) % MOD;
	}
	
	printf ("%lld", sol);
	
	return 0;
}