Cod sursa(job #1023897)

Utilizator bughybv31bogdan bughybv31 Data 7 noiembrie 2013 21:00:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>
#define nr 1999999973
long long putere (int x , int n)
{
	if (n == 1)
		return x;
	int p = putere (x,n/2) % nr;
	if (n % 2 == 0)
		return p * putere (x,n/2) % nr;
	return x * p * putere (x,n/2) % nr;
}
int main()
{
	freopen ("lgput.in","r",stdin);
	freopen ("lgput.out","w",stdout);
	int x, n;
	scanf ("%d %d", &x , & n);
	printf ("%lld",putere(x,n));
}