Cod sursa(job #427451)

Utilizator miticaMitica mitica Data 27 martie 2010 21:11:54
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
#define M 1999999973

long long x,n;

long long putere(long long x,long long n)
{
	long long p;
	if (n==0) return 1;
	   else
		if (n%2==1) return (x*putere(x,n-1))%M;
		   else
			if (n%2==0) {
						 p=putere(x,n/2);
						 return (p*p)%M;
						}
 }

int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld %lld", &x, &n);
	printf("%lld", putere(x,n)%M);
	return 0;
}