Cod sursa(job #1190044)

Utilizator toncuvasileToncu Vasile toncuvasile Data 24 mai 2014 13:00:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
using namespace std;
#define MOD 1999999973

unsigned int FastExp(unsigned int n, unsigned int p)
{
	if(p==0) return 1;
	if(p==1) return n % MOD;
	if(p%2==0) return ( ((FastExp(n,p/2))%MOD) * ( (FastExp(n,p/2)) % MOD ) ) % MOD;
	if(p%2==1) return ( (n%MOD)*( ( FastExp(n,p-1) )%MOD) ) % MOD;
}

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

	unsigned int N, P;
	f >> N >> P;

	g << FastExp(N, P);

}