Cod sursa(job #238853)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 3 ianuarie 2009 14:34:35
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.33 kb
#include <stdio.h>
#define NR 1999999973
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	int n,p,i,s=1,r=0;
	scanf("%d%d",&n,&p);
	n=n%NR;
	while(p)
	{
		if (p%2==0)
		{
			n=n*n%NR;
			p/=2;
		}
		else
		{
			p/=2;
			s=s*n%NR;
			n=n*n%NR;
		}
	}
	printf("%d\n",s);
	return 0;
}