Cod sursa(job #1205789)

Utilizator pavlov.ionPavlov Ion pavlov.ion Data 8 iulie 2014 09:08:34
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<fstream>
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
#define m 1999999973
long long lgput(int X,int N){
	 if(N==0)  return 1;
	 if (N==1) return X;
	 if(N%2) return X*lgput(X*X,(N-1)/2);
	       else return lgput(X*X,N/2);
}
int main() {
	long long X,P,k;
	cin>>X>>P;
	cout<<lgput(X,P)%m;
	return 0;
}