Cod sursa(job #627497)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 30 octombrie 2011 02:35:18
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>
using namespace std;

long long n, p;

long long Lgput(long long p){
	if (p == 0) return 1;
	if (p % 2 == 1) return Lgput (p-1) * n % 1999999973;
	else {
		long long x = Lgput (p/2) ;
		return x * x % 1999999973;
	}
}

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