Cod sursa(job #551557)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 10 martie 2011 21:10:20
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<fstream>
using namespace std;

const int modulo=1999999973;

long long int ridica(const int& a, const int& b)
{
	if(b==1)
		return a;
	long long int prod=ridica(a,b/2);
	if(!(b&1))
		return (prod*prod)%modulo;
	return (a*(prod*prod)%modulo)%modulo;
}

int main()
{
	ifstream in("lgput.in");
	ofstream out("lgput.out");

	int a,b;
	in>>a>>b;
	out<<ridica(a,b);
	in.close();
	out.close();
}