Cod sursa(job #783887)

Utilizator Ionut228Ionut Calofir Ionut228 Data 4 septembrie 2012 13:12:05
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>
#include <algorithm>
using namespace std;

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

#define MOD 1999999973
int n,p;

long long putere(int n, int p)
{
	if(p==0)
		return 1;
	else if(p%2==0)
	{
		long long x=putere(n,p>>1)%MOD;
		return (x*x)%MOD;
	}
	else
		return (n*putere(n,p-1)%MOD);
}

int main ()
{
	int r;
	f>>n;
	f>>p;
	r=putere(n,p);
	g<<r;
	f.close();g.close();
	return 0;
}