Cod sursa(job #325156)

Utilizator Abi79Iordache Albert Abi79 Data 19 iunie 2009 10:06:50
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<stdio.h>

FILE *f=fopen("lgput.in","r"),*s=fopen("lgput.out","w");
const int m=1999999973;
unsigned int i,n,p;
long long a,sol=1;

int main()
{
	fscanf(f,"%d %d",&n,&p);
	
	a=n;
	for(i=0;(1<<i) <= p; ++i)
	{
		if( (1<<i)==1 && p>0 )
			sol=(sol*a)%m;
		
		a=(a*a)%m;
	}
	
	fprintf(s,"%lld",sol);
	
	fclose(s);
	return 0;
}