Cod sursa(job #316633)

Utilizator pedobearBacauanu Vlad pedobear Data 20 mai 2009 16:23:54
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>

long long n,p;

long long ridic (long long a, long long b)
{
	if (!b) return 1;
	else if (b & 1) return (ridic(a,b-1) * a%1999999973)%1999999973;
	else{
		long long r = ridic(a,b>>1);
		return ( (r%1999999973) * (r%1999999973) ) %1999999973;
		}
}

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