Cod sursa(job #794035)

Utilizator beldeabogdanBogdan Beldea beldeabogdan Data 5 octombrie 2012 09:59:21
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>
#define MOD 1999999973
using namespace std;

long long baza,exponent,r;

long long putere(long long baza,long long exponent){
	long long t;
	if (exponent == 1L) return baza;
	else {
		t = putere(baza, exponent/2);
		if (exponent %2 == 0) return t*t%MOD;
		else return t*t*baza%MOD;
	}
}

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