Cod sursa(job #675094)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 7 februarie 2012 10:12:25
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#define modul 1999999973
using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

long long sqr (long long x)
{
	return x*x;
}

long long putere (long long x,long long y)
{
	if (y==0) return 1;
	else if (y%2==0)
		return sqr(putere(x,y/2))%modul;
	else if (y%2==1)
		return x*sqr(putere(x,(y-1)/2))%modul;
}

int main ()
{
	long long n,p,rez;
	f>>n>>p;
	rez=putere(n,p)%modul;
	g<<rez;
	return 0;
}