Cod sursa(job #525964)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 26 ianuarie 2011 21:09:16
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>

#define file_in "lgput.in"
#define file_out "lgput.out"

#define mod 1999999973

long long A,B;

long long pow(long long a,long long b){
	
	if (!b)
		return 1;
	if (b%2==0){
		
		long long x=pow(a,b/2);
		return (x%mod)*(x%mod);
	}
	else{
		long long x=pow(a,b/2);
		return ((((x%mod)*(x%mod))%mod)*a)%mod;
	}
}
	

int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%lld %lld", &A, &B);
	
	printf("%lld\n", pow(A,B)%mod);
	
	return 0;
	
}