Cod sursa(job #447069)

Utilizator crisvirusDutescu Cristian crisvirus Data 27 aprilie 2010 17:04:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<stdio.h>
const long long r=1999999973;
int n,p;
int amireprost(int a,int n)
{
	int p=1;
	while(n)
	{
		if(n%2==1)
			p=(long long)p*a%r;
		a=(long long)a*a%r;
		n/=2;
	}
	return p;
}

int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%d%d",&n,&p);
	printf("%d",amireprost(n,p));
	return 0;
}