Cod sursa(job #529185)

Utilizator tudorsTudor Siminic tudors Data 4 februarie 2011 14:45:53
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <stdio.h>
#define MOD 1999999973
using namespace std;
int n,p,a,i;
long long rez,v;

int main()
{
	rez=1;
	FILE * f;
	f=fopen("lgput.in","r");
	FILE * g;
	g=fopen("lgput.out","w");
	
	fscanf(f,"%d %d",&n,&p);
	
	v=n;
	for (i=0;(1<<i)<=p;i++)
	{
		if (((1<<i) & p)>0)	
			rez=(rez*v)%MOD;
		v=(v*v)%MOD;
	}
	fprintf(g,"%d",rez);
	fclose(f);
	fclose(g);
	return 0;
}