Cod sursa(job #161967)

Utilizator GagosGagos Radu Vasile Gagos Data 19 martie 2008 08:50:14
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.33 kb
#include<stdio.h>
#define I "lgput.in"
#define O "lgput.out"
#define m 1999999973
long long n,p,s,f;
int main()
{
	FILE *f=fopen(I,"r");
	FILE *g=fopen(O,"w");
	fscanf(f,"%lld%lld",&n,&p);
	s=1;
	f=n;
	while(p)
	{
		if(p&1)
			s=(s*f)%m;
		f=(f*f)%m;
		p/=2;
	}
	fprintf(g,"%lld",s);
	fcloseall();
	return 0;
}