Cod sursa(job #551564)

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

const int modulo=1999999973;

long long int ridica(const long long int& a, const long long int& b)
{
	if(b==1)
		return a%modulo;
	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");

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