Cod sursa(job #794037)

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

long long baza,exponent;

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

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