Cod sursa(job #711556)

Utilizator YvonneYvonne Enescu Yvonne Data 12 martie 2012 12:41:39
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<fstream>
using namespace std;

const int R = 1999999973;

ifstream in("lgput.in");
ofstream out("lgput.out");
int lgput(int n, int a)
{
	if(n==0) return 1;
	if(n%2==0)
		return lgput(n/2,(long long)a*a%R);
	return (long long)a*lgput(n/2,(long long)a*a%R)%R;
}
int a,n;
int main()
{
	in>>a>>n;
	out<<lgput(n,a);
	return 0;
}