Cod sursa(job #612033)

Utilizator nikopolCristian Condurache nikopol Data 5 septembrie 2011 15:19:58
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
#define m 1999999973

long exponentiere(long long x, long long n) {

	if(n==0) return 1;
	if(n%2!=0)
		return ( x*exponentiere( (x*x)%m ,(n-1)/2) )%m;
	else
		return ( exponentiere( (x*x)%m ,n/2) )%m;

}

int main() {

	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	long long put, rez, nr;
	
	scanf("%lld",&nr);
	scanf("%lld",&put);
	
	rez = exponentiere(nr,put)%m;
	
	printf("%lld",rez);
	
	return 0;
}