Cod sursa(job #165443)

Utilizator reSpawnPopescu Ioan reSpawn Data 25 martie 2008 23:10:11
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
// http://infoarena.ro/problema/lgput

#include <stdio.h>

long mypow( int n, int p )
{
	if( p == 1 )
		return n;
	long long nr;
	nr = mypow( n, p/2 );
	if( p % 2 == 1 )
		nr = nr * nr * n;
	else
		nr = nr * nr;
	return nr%1999999973;
}

int main()
{
	int N, P;
	freopen( "lgput.in", "r", stdin );
	freopen( "lgput.out", "w", stdout );

	scanf( "%d %d", &N, &P );

	printf("%ld", mypow( N, P )  );

	return 0;
}