Cod sursa(job #730546)

Utilizator Andrei.XweCobzaru Adrian-Andrei Andrei.Xwe Data 6 aprilie 2012 14:24:58
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.34 kb
#include<iostream>
using namespace std;
#define asa 1999999973;
long long putere(long long n,long long p)
{
	if(p==1)
		return n;
	else
		if(n%2==0)
			return putere(n,p/2)*putere(n,p/2);
		else
			return (n*putere(n,p-1))%asa;
}
int main()
{
	long long n,p,r;
	cin>>n>>p;
	r=(putere(n,p))%asa;
	cout<<r<<" ";
	return 0;
}