Cod sursa(job #591058)

Utilizator balakraz94abcd efgh balakraz94 Data 21 mai 2011 23:49:21
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <cstdio>
#define L 100
#define mod 1999999973
using namespace std;

int n,p;

void citeste()
{
	freopen("lgput.in","r",stdin);
	
	scanf("%d %d", &n, &p);
	
	fclose(stdin);
}


int powlog(int p)
{
	if(p<=1)
		return n;
	
	int sol = powlog(p/2);
	
	sol = ( 1LL * sol * sol ) %mod;
	
	if(p%2)
		sol = ( 1LL * sol * n ) %mod;
	
	return sol;
}



void afiseaza()
{
	freopen("lgput.out","w",stdout);
	
	printf("%d",powlog(p));
	
	fclose(stdout);
}


int main()
{
   citeste();
   afiseaza();
   
   return 0;
}