Cod sursa(job #392765)

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

using namespace std;

unsigned long power(int x,int 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;
int main()
{
	ifstream fin("lgput.in");
	ofstream fout("lgput.out");
	unsigned long x,n;
	
	fin>>x>>n;
	fout<<power(x,n)%a;
	
fin.close();
fout.close();

return 0;

}