Cod sursa(job #561229)

Utilizator sebii_cSebastian Claici sebii_c Data 19 martie 2011 09:43:57
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.4 kb
#include <stdio.h>
#define INFILE "lgput.in"
#define OUTFILE "lgput.out"
#define MOD 1999999973

void power(int x, int y)
{
	int i;
	int res = 1;
	for (i=0; (1<<i) <= y; ++i) {
		if (((1<<i) & y) > 0)
			res = (res * x) % MOD;
		x = (x * x) % MOD;
	}
	printf("%d\n", res);
}

int main()
{
	int n, p;
	freopen(INFILE, "r", stdin);
	freopen(OUTFILE, "w", stdout);
	scanf("%d %d", &n, &p);
	power(n, p);
	return 0;
}