Cod sursa(job #392769)

Utilizator MirceampMuresan Mircea Paul Mirceamp Data 8 februarie 2010 11:06:30
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>

using namespace std;

unsigned long power(unsigned long x,unsigned long n)
{
	if(n == 0)return 1;
	else if(n%2 != 0) return x*(power(x,(n-1)/2)*power(x,(n-1)/2));
	else return (power(x,n/2)*power(x,n/2));
}
const long a = 1999999973;
unsigned long x,n;
int main()
{
	ifstream fin("lgput.in");
	ofstream fout("lgput.out");

	fin>>x>>n;
	fout<<power(x,n)%a<<"\n";
	
fin.close();
fout.close();

return 0;

}