Cod sursa(job #292131)

Utilizator andreirRoti Andrei andreir Data 30 martie 2009 19:45:24
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.34 kb
#include<stdio.h>
#define I "lgput.in"
#define O "lgput.out"
#define m 1999999973
long long n,p,s,f;
int main()
{
	FILE *fin=fopen(I,"r");
	FILE *gout=fopen(O,"w");
	fscanf(fin,"%lld%lld",&n,&p);
	s=1;
	f=n;
	while(p)
	{
		if(p&1)
			s=(s*f)%m;
		f=(f*f)%m;
		p/=2;
	}
	fprintf(gout,"%lld",s);
	fcloseall();
	return 0;
}