Cod sursa(job #551554)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 10 martie 2011 21:08:35
Problema Ridicare la putere in timp logaritmic Scor 0
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();
}