Cod sursa(job #222127)

Utilizator andreea_mandreea martinovici andreea_m Data 20 noiembrie 2008 17:21:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<stdio.h>
#define N 1999999973
long long n,p;
long long putere(long long a, long long b)
{
	if(b==0)
		return 1;
	if(b%2)
		return a*putere(a*a%N,b/2)%N;
	return putere(a*a%N,b/2)%N;
}

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