Cod sursa(job #744373)

Utilizator Victor10Oltean Victor Victor10 Data 8 mai 2012 15:37:10
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <cstdio>
#define MOD 1999999973

long long x;

unsigned int pw (long long a) {
	if (a == 0) return 1;
	if (a == 1) return x % MOD;
	
	if (a % 2 == 0) return (pw (a / 2) * pw (a / 2)) % MOD;
	return (pw (a - 1) * x) % MOD;
}

int main () {
	
	freopen ("lgput.in", "r", stdin);
	freopen ("lgput.out", "w", stdout);
	
	long long a;
	
	scanf ("%lld%lld", &x, &a);
	
	printf ("%ud\n", pw (a));
}