Cod sursa(job #782977)

Utilizator ArmandNMArmand Nicolicioiu ArmandNM Data 1 septembrie 2012 12:42:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
int N,P,rez;
int ridicare(int n,int p)
{
	if (p==0) return 1;
	if (p%2==0){ p=ridicare(n,p>>1)%MOD; return (p*p)%MOD; }
		else return (n*ridicare(n,p-1))%MOD;
}
int main()
{
	f>>N;
	f>>P;
	rez=ridicare(N,P);
	g<<rez;
	f.close();
	g.close();
	return 0;
}