Cod sursa(job #563129)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 24 martie 2011 15:15:52
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <fstream>
using namespace std;

ifstream fi ("lgput.in");
ofstream fo ("lgput.out");

const long long MOD = 1999999973;
long long N, P;

long long lgput (long long e)
{
	if (e == 1) return N;
	long long x = lgput (e / 2);
	if (e & 1) return (x * x * N) % MOD;
	return (x * x) % MOD;
}

int main ()
{
	fi >> N >> P;
	fo << lgput (P);	
	return 0;
}