Cod sursa(job #585068)

Utilizator mlupseLupse-Turpan Mircea mlupse Data 27 aprilie 2011 22:03:29
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
using namespace std;
#include <fstream>
const int m = 1999999973;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long power(long long n,long long p)
{long long a;
if (p==0) 
	return 1;
else
if (p%2==0)
{
	a=power(n,p/2);
	return ((a%m)*(a%m))%m;
}

else
{
	a=power(n,p/2);
	return ((a%m)*(a%m)*n)%m;
}
}
int main()
{
    long long n, p;
    long long sol;
    fin>>n>>p;
    sol=power(n,p);
	fout<<sol;
}