Cod sursa(job #716528)

Utilizator ILDottoreBogdan Stoian ILDottore Data 18 martie 2012 22:38:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<cstdio>
using namespace std;


#define M 1999999973


FILE *f=fopen("lgput.in","r");
FILE *g=fopen("lgput.out","w");


long long N,P,sol,fact;

int main()
{
	fscanf(f,"%lld %lld",&N,&P);
	
	fact=N;sol=1;
	
	for (int i=0;(1<<i)<=P;i++)
		{
			if ( (1<<i)&P )
				sol=(sol*fact)%M;
			
			fact=(fact*fact)%M;
		}
	
	fprintf(g,"%lld",sol);
	
	
return 0;}