Cod sursa(job #1007325)

Utilizator lucky1992Ion Ion lucky1992 Data 8 octombrie 2013 19:32:26
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <cstdio>
#define MOD 1999999973

using namespace std;

int N,P;

int putere( int x , int p ){

		if( p == 0 )
			return 1;
		else if( p == 1 )
			return x;
		else{
			int temp = putere( x, p/2 );

			if( p%2 == 0 )
				return temp*temp;
			else
				return temp*temp*x;
		}
}

int main(){

	freopen("lgput.in", "r", stdin );
	freopen("lgput.out", "w", stdout );
	
	scanf("%d%d", &N, &P );
	
	int rez = putere( N, P ) % MOD;
	
	printf("%d\n", rez );
	
	return 0;

}